Compare commits

...

28 Commits
master ... new

Author SHA1 Message Date
zzc 45cb6e55a1 Merge branch 'new' of http://116.204.114.73:3000/ccsens_zhengzhichuan/acupuncture into new 1 week ago
zzc 676559c3bb 后台导出诊疗档案zip汇总 1 week ago
liuzhipeng 8bf07274d6 调整后台诊疗档案表单lable宽度 1 week ago
liuzhipeng f6f5b5c983 上报标题字段替换 1 week ago
liuzhipeng 5b1d2078e9 后台诊疗档案添加审核 1 week ago
liuzhipeng 61a3cf5d54 上报管理,进行中的上报不能修改删除 1 week ago
liuzhipeng 0e7cf88345 修改类型附件下载报错 1 week ago
liuzhipeng e7a5c6735f 前台诊疗档案添加诊疗日期、填报类型查询 1 week ago
liuzhipeng 53311e9c10 重置清空时间数组 1 week ago
liuzhipeng 8b500d5848 新增诊疗档案修改为新增病历直报 1 week ago
liuzhipeng e6b032a1f2 后台添加患者列表添加下载模版,导入 1 week ago
liuzhipeng dcb3499ac8 诊疗档案添加上报标题、门诊/住院时间查询,列表回显上报标题 1 week ago
lzp bd062eceba 前台诊疗添加上报查询,新增选择上报 1 week ago
lzp b8cf8e3ee8 后台下载上报汇总表 1 week ago
lzp 6b87793790 上报管理添加下载上报汇总表 1 week ago
lzp 5464e1dbee 上报管理添加单位、状态,支持手动修改开启结束状态 1 week ago
lzp 44df6bee76 上报管理添加单位、状态,支持手动修改开启关闭状态 1 week ago
lzp 1e74bec548 上报类型添加单位,附件,备注 1 week ago
lzp 8f072269d2 新增、修改缓存列表 1 week ago
lzp 74ec7f83eb 强制修改密码弹窗 1 week ago
zzc 060df6ee18 添加缓存新增接口 1 week ago
zzc 8fde8ab816 添加在线用户监控最后操作时间字段 1 week ago
lzp d9969d686d 服务监控添加数据库状态 1 week ago
lzp 58752ef8ac 通知公告添加现在通知用户 1 week ago
lzp fe0735644c 字典表明细添加数据类型、长度、是否必填、是否唯一 1 week ago
zzc 027eeb6bee 添加字典数据字段 1 week ago
zzc 99a6dbadfc 添加菜单、字典字段 客户端类型 1 week ago
lzp 801e53136f 角色、菜单管理添加客户端类型 1 week ago
  1. 17
      acupuncture-admin/src/main/java/com/acupuncture/web/controller/monitor/CacheController.java
  2. 43
      acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/AdminPmsTreatmentController.java
  3. 20
      acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/AdminReportController.java
  4. 1
      acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/DmsLoginController.java
  5. 43
      acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/PmsTreatmentController.java
  6. 46
      acupuncture-common/src/main/java/com/acupuncture/common/core/domain/entity/SysDictData.java
  7. 10
      acupuncture-common/src/main/java/com/acupuncture/common/core/domain/entity/SysMenu.java
  8. 11
      acupuncture-common/src/main/java/com/acupuncture/common/core/domain/entity/SysRole.java
  9. 147
      acupuncture-common/src/main/java/com/acupuncture/common/utils/ZipUtils.java
  10. 8
      acupuncture-generator/src/main/resources/mbg.xml
  11. 37
      acupuncture-system/src/main/java/com/acupuncture/system/domain/SysNotice.java
  12. 15
      acupuncture-system/src/main/java/com/acupuncture/system/domain/SysUserOnline.java
  13. 12
      acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/AdminReportDto.java
  14. 27
      acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/PmsTreatmentDto.java
  15. 11
      acupuncture-system/src/main/java/com/acupuncture/system/domain/po/DmsUser.java
  16. 60
      acupuncture-system/src/main/java/com/acupuncture/system/domain/po/DmsUserExample.java
  17. 11
      acupuncture-system/src/main/java/com/acupuncture/system/domain/po/PmsTreatment.java
  18. 60
      acupuncture-system/src/main/java/com/acupuncture/system/domain/po/PmsTreatmentExample.java
  19. 106
      acupuncture-system/src/main/java/com/acupuncture/system/domain/po/RmsReportManagementTenant.java
  20. 711
      acupuncture-system/src/main/java/com/acupuncture/system/domain/po/RmsReportManagementTenantExample.java
  21. 11
      acupuncture-system/src/main/java/com/acupuncture/system/domain/po/RmsReportType.java
  22. 70
      acupuncture-system/src/main/java/com/acupuncture/system/domain/po/RmsReportTypeExample.java
  23. 106
      acupuncture-system/src/main/java/com/acupuncture/system/domain/po/RmsReportTypeTenant.java
  24. 711
      acupuncture-system/src/main/java/com/acupuncture/system/domain/po/RmsReportTypeTenantExample.java
  25. 106
      acupuncture-system/src/main/java/com/acupuncture/system/domain/po/SysNoticeUser.java
  26. 711
      acupuncture-system/src/main/java/com/acupuncture/system/domain/po/SysNoticeUserExample.java
  27. 9
      acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/AdminReportVo.java
  28. 3
      acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/DmsLoginUserVo.java
  29. 2
      acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/PmsTreatmentVo.java
  30. 4
      acupuncture-system/src/main/java/com/acupuncture/system/mapper/SysNoticeMapper.java
  31. 2
      acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/PmsTreatmentDao.java
  32. 3
      acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/RmsReportDao.java
  33. 28
      acupuncture-system/src/main/java/com/acupuncture/system/persist/mapper/RmsReportManagementTenantMapper.java
  34. 28
      acupuncture-system/src/main/java/com/acupuncture/system/persist/mapper/RmsReportTypeTenantMapper.java
  35. 28
      acupuncture-system/src/main/java/com/acupuncture/system/persist/mapper/SysNoticeUserMapper.java
  36. 17
      acupuncture-system/src/main/java/com/acupuncture/system/service/AdminReportService.java
  37. 12
      acupuncture-system/src/main/java/com/acupuncture/system/service/PmsTreatmentService.java
  38. 151
      acupuncture-system/src/main/java/com/acupuncture/system/service/impl/AdminReportServiceImpl.java
  39. 1
      acupuncture-system/src/main/java/com/acupuncture/system/service/impl/AdminTenantUserServiceImpl.java
  40. 1
      acupuncture-system/src/main/java/com/acupuncture/system/service/impl/DmsLoginServiceImpl.java
  41. 372
      acupuncture-system/src/main/java/com/acupuncture/system/service/impl/PmsTreatmentServiceImpl.java
  42. 137
      acupuncture-system/src/main/java/com/acupuncture/system/service/impl/SysNoticeServiceImpl.java
  43. 1
      acupuncture-system/src/main/java/com/acupuncture/system/service/impl/SysUserOnlineServiceImpl.java
  44. 31
      acupuncture-system/src/main/resources/mapper/dao/AdminRmsReportDao.xml
  45. 4
      acupuncture-system/src/main/resources/mapper/dao/DmsUserDao.xml
  46. 128
      acupuncture-system/src/main/resources/mapper/dao/PmsTreatmentDao.xml
  47. 25
      acupuncture-system/src/main/resources/mapper/system/DmsUserMapper.xml
  48. 29
      acupuncture-system/src/main/resources/mapper/system/PmsTreatmentMapper.xml
  49. 252
      acupuncture-system/src/main/resources/mapper/system/RmsReportManagementTenantMapper.xml
  50. 28
      acupuncture-system/src/main/resources/mapper/system/RmsReportTypeMapper.xml
  51. 252
      acupuncture-system/src/main/resources/mapper/system/RmsReportTypeTenantMapper.xml
  52. 22
      acupuncture-system/src/main/resources/mapper/system/SysDictDataMapper.xml
  53. 9
      acupuncture-system/src/main/resources/mapper/system/SysMenuMapper.xml
  54. 31
      acupuncture-system/src/main/resources/mapper/system/SysNoticeMapper.xml
  55. 252
      acupuncture-system/src/main/resources/mapper/system/SysNoticeUserMapper.xml
  56. 9
      acupuncture-system/src/main/resources/mapper/system/SysRoleMapper.xml
  57. 117
      acupuncture-前台/src/App.vue
  58. 15
      acupuncture-前台/src/api/medicalFile.js
  59. 1
      acupuncture-前台/src/store/getters.js
  60. 134
      acupuncture-前台/src/store/modules/user.js
  61. 259
      acupuncture-前台/src/views/medicalFile/index.vue
  62. 2
      acupuncture-前台/src/views/patientFile/index.vue
  63. BIN
      acupuncture-前台/南宁针灸前台ssl-4.zip
  64. BIN
      acupuncture-前台/针灸前台clientssl-2.zip
  65. 8
      acupuncture-后台/src/api/medicalFile.js
  66. 52
      acupuncture-后台/src/api/monitor/cache.js
  67. 8
      acupuncture-后台/src/api/report.js
  68. 2
      acupuncture-后台/src/views/followFile/work.vue
  69. 523
      acupuncture-后台/src/views/medicalFile/index.vue
  70. 103
      acupuncture-后台/src/views/monitor/cache/list.vue
  71. 5
      acupuncture-后台/src/views/monitor/online/index.vue
  72. 25
      acupuncture-后台/src/views/monitor/server/index.vue
  73. 28
      acupuncture-后台/src/views/patientFile/index.vue
  74. 399
      acupuncture-后台/src/views/report/manage.vue
  75. 309
      acupuncture-后台/src/views/report/type.vue
  76. 256
      acupuncture-后台/src/views/system/dict/data.vue
  77. 2
      acupuncture-后台/src/views/system/dict/index.vue
  78. 30
      acupuncture-后台/src/views/system/menu/index.vue
  79. 218
      acupuncture-后台/src/views/system/notice/index.vue
  80. 334
      acupuncture-后台/src/views/system/role/index.vue
  81. BIN
      acupuncture-后台/南宁针灸后台ssl-4.zip

17
acupuncture-admin/src/main/java/com/acupuncture/web/controller/monitor/CacheController.java

@ -8,15 +8,13 @@ import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.TreeSet;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.acupuncture.common.constant.CacheConstants;
import com.acupuncture.common.core.domain.AjaxResult;
import com.acupuncture.common.utils.StringUtils;
@ -97,6 +95,7 @@ public class CacheController
@DeleteMapping("/clearCacheName/{cacheName}")
public AjaxResult clearCacheName(@PathVariable String cacheName)
{
caches.remove(cacheName);
Collection<String> cacheKeys = redisTemplate.keys(cacheName + "*");
redisTemplate.delete(cacheKeys);
return AjaxResult.success();
@ -118,4 +117,12 @@ public class CacheController
redisTemplate.delete(cacheKeys);
return AjaxResult.success();
}
@PreAuthorize("@ss.hasPermi('monitor:cache:list')")
@GetMapping("/add")
public AjaxResult add(@RequestParam("cacheName") String cacheName, @RequestParam("remark") String remark)
{
caches.add(new SysCache(cacheName, remark));
return AjaxResult.success(caches);
}
}

43
acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/AdminPmsTreatmentController.java

@ -4,6 +4,7 @@ import com.acupuncture.common.annotation.DataSource;
import com.acupuncture.common.core.domain.BaseDto;
import com.acupuncture.common.core.domain.JsonResponse;
import com.acupuncture.common.enums.DataSourceType;
import com.acupuncture.common.utils.SecurityUtils;
import com.acupuncture.framework.datasource.DynamicDataSourceContextHolder;
import com.acupuncture.system.domain.dto.PmsTreatmentDto;
import com.acupuncture.system.domain.po.DmsTenant;
@ -12,6 +13,7 @@ import com.acupuncture.system.domain.vo.PmsTreatmentVo;
import com.acupuncture.system.domain.vo.UmsDataSourceVo;
import com.acupuncture.system.persist.mapper.DmsTenantMapper;
import com.acupuncture.system.persist.mapper.UmsDataSourceMapper;
import com.acupuncture.system.service.DmsLoginService;
import com.acupuncture.system.service.PmsTreatmentService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@ -43,6 +45,8 @@ public class AdminPmsTreatmentController {
@Resource
private PmsTreatmentService treatmentService;
@Resource
private DmsLoginService dmsLoginService;
@ApiOperation("查询诊疗档案")
@PostMapping("/list")
@ -68,6 +72,21 @@ public class AdminPmsTreatmentController {
treatmentService.adminExportTreatment(response, dto);
}
@DataSource(DataSourceType.MASTER)
@ApiOperation("导入诊疗档案数据")
@PostMapping("/importTreatment")
public JsonResponse<Integer> importTreatment(MultipartFile file) throws IOException {
//切换数据源
String[] strs = treatmentService.getTenantId(file);
DynamicDataSourceContextHolder.setDataSourceType(strs[0]);
treatmentService.importTreatmentAdmin(file, Long.parseLong(strs[1]));
//销毁数据源
DynamicDataSourceContextHolder.clearDataSourceType();
return JsonResponse.ok();
}
// @ApiOperation("修改诊疗档案")
// @PostMapping("/upd")
// public JsonResponse<Integer> updateTreatment(@RequestBody @Validated PmsTreatmentDto.TreatmentUpdateDTO dto) {
@ -82,9 +101,33 @@ public class AdminPmsTreatmentController {
// return JsonResponse.ok(treatmentService.exportTreatmentPg(response, dto));
// }
@DataSource(DataSourceType.MASTER)
@ApiOperation("后台导出诊疗档案评估报告")
@PostMapping("/exportTreatmentPg")
public JsonResponse<String> adminExportTreatmentPg(HttpServletResponse response, @RequestBody @Validated PmsTreatmentDto.ExportVO dto){
return JsonResponse.ok(treatmentService.adminExportTreatmentPg(response, dto));
}
@DataSource(DataSourceType.MASTER)
@ApiOperation("后台导出诊疗档案评估报告zip")
@PostMapping("/adminExportTreatmentPgZip")
public JsonResponse<String> adminExportTreatmentPgZip(HttpServletResponse response, @RequestBody @Validated PmsTreatmentDto.ExportZipVO dto) throws IOException{
return JsonResponse.ok(treatmentService.adminExportTreatmentPgZip(response, dto));
}
@ApiOperation("审核")
@PostMapping("/aduit")
public JsonResponse<Integer> aduit( @RequestBody @Validated PmsTreatmentDto.Aduit dto){
try {
UmsDataSource dataSourceByTenantId = dmsLoginService.getDataSourceByTenantId(dto.getTenantId());
if (dataSourceByTenantId != null) {
DynamicDataSourceContextHolder.setDataSourceType(dataSourceByTenantId.getDataSourceKey());
}
treatmentService.aduit(dto.getTreatmentId(), dto.getStatus());
return JsonResponse.ok();
}finally {
DynamicDataSourceContextHolder.clearDataSourceType();
}
}
}

20
acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/AdminReportController.java

@ -1,10 +1,15 @@
package com.acupuncture.web.controller.web;
import com.acupuncture.common.annotation.DataScope;
import com.acupuncture.common.annotation.DataSource;
import com.acupuncture.common.core.domain.BaseDto;
import com.acupuncture.common.core.domain.JsonResponse;
import com.acupuncture.common.enums.DataSourceType;
import com.acupuncture.system.domain.dto.AdminReportDto;
import com.acupuncture.system.domain.vo.AdminReportVo;
import com.acupuncture.system.service.AdminReportService;
import com.acupuncture.system.service.RmsReportService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -32,9 +37,14 @@ public class AdminReportController {
@Resource
private AdminReportService reportService;
@DataSource(DataSourceType.MASTER)
@ApiOperation("查询上报类型")
@PostMapping("/list")
public JsonResponse<PageInfo<AdminReportVo.TypeResult>> queryTypeList(@RequestBody @Validated BaseDto<AdminReportDto.Query> dto) {
if (dto.getPageNum() > 0) {
PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
}
return JsonResponse.ok(new PageInfo<>(reportService.queryTypeList(dto.getParam().getName())));
}
@ -56,9 +66,19 @@ public class AdminReportController {
return JsonResponse.ok(reportService.delete(dto));
}
@DataSource(DataSourceType.MASTER)
@ApiOperation("查询我的上报管理")
@PostMapping("/queryManagerMy")
public JsonResponse<PageInfo<AdminReportVo.Result>> queryManagerMy(@RequestBody @Validated BaseDto<AdminReportDto.QueryManagerDto> dto) {
return JsonResponse.ok(new PageInfo<>(reportService.queryManagerListMy(dto.getParam())));
}
@ApiOperation("查询上报管理")
@PostMapping("/queryManager")
public JsonResponse<PageInfo<AdminReportVo.Result>> queryManagerList(@RequestBody @Validated BaseDto<AdminReportDto.QueryManagerDto> dto) {
if (dto.getPageNum() > 0) {
PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
}
return JsonResponse.ok(new PageInfo<>(reportService.queryManagerList(dto.getParam())));
}

1
acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/DmsLoginController.java

@ -143,6 +143,7 @@ public class DmsLoginController {
tokenService.refreshToken(loginUser);
AjaxResult ajax = AjaxResult.success();
ajax.put("user", user);
ajax.put("forceUpdPwdFlag" , tenantUser.getForceUpdPwdFlag());
return ajax;
}

43
acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/PmsTreatmentController.java

@ -1,10 +1,22 @@
package com.acupuncture.web.controller.web;
import cn.hutool.core.collection.CollectionUtil;
import com.acupuncture.common.annotation.DataSource;
import com.acupuncture.common.core.domain.BaseDto;
import com.acupuncture.common.core.domain.JsonResponse;
import com.acupuncture.common.enums.DataSourceType;
import com.acupuncture.common.utils.SecurityUtils;
import com.acupuncture.framework.datasource.DynamicDataSourceContextHolder;
import com.acupuncture.system.domain.dto.PmsTreatmentDto;
import com.acupuncture.system.domain.po.RmsReportManagement;
import com.acupuncture.system.domain.po.RmsReportManagementExample;
import com.acupuncture.system.domain.po.UmsDataSource;
import com.acupuncture.system.domain.vo.PmsTreatmentVo;
import com.acupuncture.system.persist.mapper.RmsReportManagementMapper;
import com.acupuncture.system.service.AdminReportService;
import com.acupuncture.system.service.DmsLoginService;
import com.acupuncture.system.service.PmsTreatmentService;
import com.acupuncture.system.service.RmsReportService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
@ -22,6 +34,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Author zzc
@ -37,6 +50,12 @@ public class PmsTreatmentController {
@Resource
private PmsTreatmentService treatmentService;
@Resource
private AdminReportService adminReportService;
@Resource
private DmsLoginService dmsLoginService;
@Resource
private RmsReportManagementMapper rmsReportManagementMapper;
@ApiOperation("添加诊疗档案")
@PostMapping("/add")
@ -59,13 +78,35 @@ public class PmsTreatmentController {
return JsonResponse.ok();
}
@DataSource(DataSourceType.MASTER)
@ApiOperation("查询诊疗档案")
@PostMapping("/list")
public JsonResponse<PageInfo<PmsTreatmentVo.TreatmentVO>> listTreatment(@RequestBody @Validated BaseDto<PmsTreatmentDto.TreatmentQueryDTO> queryDTO) {
try {
List<RmsReportManagement> rmsReportManagements1 = rmsReportManagementMapper.selectByExample(new RmsReportManagementExample());
PmsTreatmentDto.TreatmentQueryDTO param = queryDTO.getParam();
if (queryDTO.getParam().getReportTypeId() != null) {
List<RmsReportManagement> rmsReportManagements = adminReportService.queryManagerListByType(queryDTO.getParam().getReportTypeId());
if (CollectionUtil.isNotEmpty(rmsReportManagements)) {
param.setManagementIdList(rmsReportManagements.stream().map(RmsReportManagement::getId).collect(Collectors.toList()));
} else {
return JsonResponse.ok(new PageInfo<>());
}
}
UmsDataSource dataSourceByTenantId = dmsLoginService.getDataSourceByTenantId(SecurityUtils.getTenantId());
if (dataSourceByTenantId != null) {
DynamicDataSourceContextHolder.setDataSourceType(dataSourceByTenantId.getDataSourceKey());
}
if (queryDTO.getPageNum() > 0) {
PageHelper.startPage(queryDTO.getPageNum(), queryDTO.getPageSize());
}
return JsonResponse.ok(new PageInfo<>(treatmentService.listTreatment(queryDTO.getParam())));
return JsonResponse.ok(new PageInfo<>(treatmentService.listTreatment(param, rmsReportManagements1)));
} finally {
DynamicDataSourceContextHolder.clearDataSourceType();
}
}
@ApiOperation("新增诊疗档案数据")

46
acupuncture-common/src/main/java/com/acupuncture/common/core/domain/entity/SysDictData.java

@ -52,11 +52,53 @@ public class SysDictData extends BaseEntity
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status;
/** 数据类型 */
private String dataType;
/** 长度 */
private String dataLength;
/** 是否必填 */
private String isRequired;
/** 是否唯一 */
private String isSole;
public Long getDictCode()
{
return dictCode;
}
public String getDataType() {
return dataType;
}
public void setDataType(String dataType) {
this.dataType = dataType;
}
public String getDataLength() {
return dataLength;
}
public void setDataLength(String dataLength) {
this.dataLength = dataLength;
}
public String getIsRequired() {
return isRequired;
}
public void setIsRequired(String isRequired) {
this.isRequired = isRequired;
}
public String getIsSole() {
return isSole;
}
public void setIsSole(String isSole) {
this.isSole = isSole;
}
public void setDictCode(Long dictCode)
{
this.dictCode = dictCode;
@ -166,6 +208,10 @@ public class SysDictData extends BaseEntity
.append("listClass", getListClass())
.append("isDefault", getIsDefault())
.append("status", getStatus())
.append("dataType", getDataType())
.append("dataLength", getDataLength())
.append("isRequired", getIsRequired())
.append("isSole", getIsSole())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())

10
acupuncture-common/src/main/java/com/acupuncture/common/core/domain/entity/SysMenu.java

@ -68,6 +68,16 @@ public class SysMenu extends BaseEntity
/** 子菜单 */
private List<SysMenu> children = new ArrayList<SysMenu>();
/** 客户端类型 */
private Integer clientType;
public Integer getClientType() {
return clientType;
}
public void setClientType(Integer clientType) {
this.clientType = clientType;
}
public Long getMenuId()
{

11
acupuncture-common/src/main/java/com/acupuncture/common/core/domain/entity/SysRole.java

@ -64,6 +64,17 @@ public class SysRole extends BaseEntity
/** 角色菜单权限 */
private Set<String> permissions;
/** 客户端类型 */
private Integer clientType;
public Integer getClientType() {
return clientType;
}
public void setClientType(Integer clientType) {
this.clientType = clientType;
}
public SysRole()
{

147
acupuncture-common/src/main/java/com/acupuncture/common/utils/ZipUtils.java

@ -0,0 +1,147 @@
package com.acupuncture.common.utils;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipUtils {
private static final int BUFFER_SIZE = 2 * 1024;
/**
* 压缩成ZIP 方法1
* @param srcDir 压缩文件夹路径
* @param out 压缩文件输出流
* @param KeepDirStructure 是否保留原来的目录结构,true:保留目录结构;
* false:所有文件跑到压缩包根目录下(注意不保留目录结构可能会出现同名文件,会压缩失败)
* @throws RuntimeException 压缩失败会抛出运行时异常
*/
public static void toZip(String srcDir, OutputStream out, boolean KeepDirStructure)
throws RuntimeException{
long start = System.currentTimeMillis();
ZipOutputStream zos = null ;
try {
zos = new ZipOutputStream(out);
File sourceFile = new File(srcDir);
compress(sourceFile,zos,sourceFile.getName(),KeepDirStructure);
long end = System.currentTimeMillis();
System.out.println("压缩完成,耗时:" + (end - start) +" ms");
} catch (Exception e) {
throw new RuntimeException("zip error from ZipUtils",e);
}finally{
if(zos != null){
try {
zos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/**
* 压缩成ZIP 方法2
* @param srcFiles 需要压缩的文件列表
* @param out 压缩文件输出流
* @throws RuntimeException 压缩失败会抛出运行时异常
*/
public static void toZip(List<File> srcFiles , OutputStream out)throws RuntimeException {
long start = System.currentTimeMillis();
ZipOutputStream zos = null ;
try {
zos = new ZipOutputStream(out);
for (File srcFile : srcFiles) {
byte[] buf = new byte[BUFFER_SIZE];
zos.putNextEntry(new ZipEntry(srcFile.getName()));
int len;
FileInputStream in = new FileInputStream(srcFile);
while ((len = in.read(buf)) != -1){
zos.write(buf, 0, len);
}
zos.closeEntry();
in.close();
}
long end = System.currentTimeMillis();
System.out.println("压缩完成,耗时:" + (end - start) +" ms");
} catch (Exception e) {
// throw new RuntimeException("zip error from ZipUtils",e);
}finally{
if(zos != null){
try {
zos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/**
* 递归压缩方法
* @param sourceFile 源文件
* @param zos zip输出流
* @param name 压缩后的名称
* @param KeepDirStructure 是否保留原来的目录结构,true:保留目录结构;
* false:所有文件跑到压缩包根目录下(注意不保留目录结构可能会出现同名文件,会压缩失败)
* @throws Exception
*/
private static void compress(File sourceFile, ZipOutputStream zos, String name,
boolean KeepDirStructure) throws Exception{
byte[] buf = new byte[BUFFER_SIZE];
if(sourceFile.isFile()){
// 向zip输出流中添加一个zip实体,构造器中name为zip实体的文件的名字
zos.putNextEntry(new ZipEntry(name));
// copy文件到zip输出流中
int len;
FileInputStream in = new FileInputStream(sourceFile);
while ((len = in.read(buf)) != -1){
zos.write(buf, 0, len);
}
// Complete the entry
zos.closeEntry();
in.close();
} else {
File[] listFiles = sourceFile.listFiles();
if(listFiles == null || listFiles.length == 0){
// 需要保留原来的文件结构时,需要对空文件夹进行处理
if(KeepDirStructure){
// 空文件夹的处理
zos.putNextEntry(new ZipEntry(name + "/"));
// 没有文件,不需要文件的copy
zos.closeEntry();
}
}else {
for (File file : listFiles) {
// 判断是否需要保留原来的文件结构
if (KeepDirStructure) {
// 注意:file.getName()前面需要带上父文件夹的名字加一斜杠,
// 不然最后压缩包中就不能保留原来的文件结构,即:所有文件都跑到压缩包根目录下了
compress(file, zos, name + "/" + file.getName(),KeepDirStructure);
} else {
compress(file, zos, file.getName(),KeepDirStructure);
}
}
}
}
}
public static void main(String[] args) throws Exception {
/** 测试压缩方法1 */
// FileOutputStream fos1 = new FileOutputStream(new File("c:/mytest01.zip"));
// ZipUtils.toZip("D:/log", fos1,true);
/** 测试压缩方法2 */
List<File> fileList = new ArrayList<>();
fileList.add(new File("C:/Users/zzc16/Desktop/admin.sh"));
FileOutputStream fos2 = new FileOutputStream(new File("C:/Users/zzc16/Desktop/admin.zip"));
ZipUtils.toZip(fileList, fos2);
}
}

8
acupuncture-generator/src/main/resources/mbg.xml

@ -80,13 +80,17 @@
<!-- <table tableName="fms_followup_queue" domainObjectName="FmsFollowupQueue" enableDeleteByExample="false"/>-->
<!-- <table tableName="fms_followup_task" domainObjectName="FmsFollowupTask" enableDeleteByExample="false"/>-->
<!-- <table tableName="fms_patient_queue_relation" domainObjectName="FmsPatientQueueRelation" enableDeleteByExample="false"/>-->
<table tableName="pms_patient" domainObjectName="PmsPatient" enableDeleteByExample="false"/>
<!-- <table tableName="pms_patient" domainObjectName="PmsPatient" enableDeleteByExample="false"/>-->
<!-- <table tableName="hms_weight_height" domainObjectName="HmsWeightHeight" enableDeleteByExample="false"/>-->
<!-- <table tableName="pms_treatment" domainObjectName="PmsTreatment" enableDeleteByExample="false"/>-->
<table tableName="pms_treatment" domainObjectName="PmsTreatment" enableDeleteByExample="false"/>
<!-- <table tableName="pms_treatment_record" domainObjectName="PmsTreatmentRecord" enableDeleteByExample="false"/>-->
<!-- <table tableName="rms_report_type" domainObjectName="RmsReportType" enableDeleteByExample="false"/>-->
<!-- <table tableName="rms_report_management" domainObjectName="RmsReportManagement" enableDeleteByExample="false"/>-->
<!-- <table tableName="ums_data_source" domainObjectName="UmsDataSource" enableDeleteByExample="false"/>-->
<!-- <table tableName="sys_notice_user" domainObjectName="SysNoticeUser" enableDeleteByExample="false"/>-->
<!-- <table tableName="dms_user" domainObjectName="DmsUser" enableDeleteByExample="false"/>-->
<!-- <table tableName="rms_report_type_tenant" domainObjectName="RmsReportTypeTenant" enableDeleteByExample="false"/>-->
<!-- <table tableName="rms_report_management_tenant" domainObjectName="RmsReportManagementTenant" enableDeleteByExample="false"/>-->
<!-- 有些表的字段需要指定java类型
<table schema="" tableName="">

37
acupuncture-system/src/main/java/com/acupuncture/system/domain/SysNotice.java

@ -2,11 +2,15 @@ package com.acupuncture.system.domain;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import com.fasterxml.jackson.annotation.JsonIgnore;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.acupuncture.common.core.domain.BaseEntity;
import com.acupuncture.common.xss.Xss;
import java.util.List;
/**
* 通知公告表 sys_notice
*
@ -31,6 +35,39 @@ public class SysNotice extends BaseEntity
/** 公告状态(0正常 1关闭) */
private String status;
/** 发送用户ID列表 不填则发送给所有 */
private List<Long> userIdList;
/** 是否公共的(0否 1是) */
private Byte isAll;
@JsonIgnore
private List<Long> noticeIdList;
public List<Long> getNoticeIdList() {
return noticeIdList;
}
public void setNoticeIdList(List<Long> noticeIdList) {
this.noticeIdList = noticeIdList;
}
public Byte getIsAll() {
return isAll;
}
public void setIsAll(Byte isAll) {
this.isAll = isAll;
}
public List<Long> getUserIdList() {
return userIdList;
}
public void setUserIdList(List<Long> userIdList) {
this.userIdList = userIdList;
}
public Long getNoticeId()
{
return noticeId;

15
acupuncture-system/src/main/java/com/acupuncture/system/domain/SysUserOnline.java

@ -1,5 +1,9 @@
package com.acupuncture.system.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
/**
* 当前在线会话
*
@ -31,6 +35,17 @@ public class SysUserOnline
/** 登录时间 */
private Long loginTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date lastVisitTime;
public Date getLastVisitTime() {
return lastVisitTime;
}
public void setLastVisitTime(Date lastVisitTime) {
this.lastVisitTime = lastVisitTime;
}
public String getTokenId()
{
return tokenId;

12
acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/AdminReportDto.java

@ -18,11 +18,19 @@ public class AdminReportDto {
@Data
public static class AddDto {
private String typeName;
private String remark;
private String file;
private List<Long> tenantIdList;
}
@Data
public static class UpdDto {
private Long id;
private String name;
private String typeName;
private String remark;
private String file;
private List<Long> tenantIdList;
}
@Data
public static class DeleteDto {
@ -47,6 +55,7 @@ public class AdminReportDto {
private Date timeRangeEnd;
private Byte status;
private List<Long> tenantIdList;
}
@Data
@ -62,6 +71,7 @@ public class AdminReportDto {
private Date timeRangeEnd;
private Byte status;
private List<Long> tenantIdList;
}

27
acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/PmsTreatmentDto.java

@ -52,6 +52,8 @@ public class PmsTreatmentDto {
private String createBy;
private String remark;
private Byte source = 1;
@ApiModelProperty("上报ID")
private Long managementId;
@ApiModelProperty("随访队列ID集合")
private List<Long> queueIdList;
@ -88,6 +90,7 @@ public class PmsTreatmentDto {
// private String idCard;
private Integer visitType;
private String visitNumber;
@JsonFormat(pattern = "yyyy-MM-dd")
private Date visitTime;
@JsonFormat(pattern = "yyyy-MM-dd")
private Date dischargeTime;
@ -101,6 +104,7 @@ public class PmsTreatmentDto {
private String remark;
private String updateBy;
private Long tenantId;
private Long managementId;
@ApiModelProperty("随访队列ID集合")
private List<Long> queueIdList;
@ -137,6 +141,14 @@ public class PmsTreatmentDto {
private String name;
private Long tenantId;
@ApiModelProperty("门诊/住院时间")
private String startTime;
private String endTime;
@ApiModelProperty("上报管理ID")
private Long managementId;
private Long reportTypeId;
private List<Long> managementIdList;
}
@Data
@ -222,4 +234,19 @@ public class PmsTreatmentDto {
private Long treatmentId;
}
@Data
public static class ExportZipVO {
@NotNull
private Long managementId;
}
@Data
public static class Aduit {
@NotNull
private Long treatmentId;
private Byte status;
private Long tenantId;
}
}

11
acupuncture-system/src/main/java/com/acupuncture/system/domain/po/DmsUser.java

@ -36,6 +36,8 @@ public class DmsUser implements Serializable {
private String remark;
private Byte forceUpdPwdFlag;
private static final long serialVersionUID = 1L;
public Long getId() {
@ -166,6 +168,14 @@ public class DmsUser implements Serializable {
this.remark = remark == null ? null : remark.trim();
}
public Byte getForceUpdPwdFlag() {
return forceUpdPwdFlag;
}
public void setForceUpdPwdFlag(Byte forceUpdPwdFlag) {
this.forceUpdPwdFlag = forceUpdPwdFlag;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
@ -188,6 +198,7 @@ public class DmsUser implements Serializable {
sb.append(", updateBy=").append(updateBy);
sb.append(", updateTime=").append(updateTime);
sb.append(", remark=").append(remark);
sb.append(", forceUpdPwdFlag=").append(forceUpdPwdFlag);
sb.append("]");
return sb.toString();
}

60
acupuncture-system/src/main/java/com/acupuncture/system/domain/po/DmsUserExample.java

@ -1164,6 +1164,66 @@ public class DmsUserExample {
addCriterion("remark not between", value1, value2, "remark");
return (Criteria) this;
}
public Criteria andForceUpdPwdFlagIsNull() {
addCriterion("force_upd_pwd_flag is null");
return (Criteria) this;
}
public Criteria andForceUpdPwdFlagIsNotNull() {
addCriterion("force_upd_pwd_flag is not null");
return (Criteria) this;
}
public Criteria andForceUpdPwdFlagEqualTo(Byte value) {
addCriterion("force_upd_pwd_flag =", value, "forceUpdPwdFlag");
return (Criteria) this;
}
public Criteria andForceUpdPwdFlagNotEqualTo(Byte value) {
addCriterion("force_upd_pwd_flag <>", value, "forceUpdPwdFlag");
return (Criteria) this;
}
public Criteria andForceUpdPwdFlagGreaterThan(Byte value) {
addCriterion("force_upd_pwd_flag >", value, "forceUpdPwdFlag");
return (Criteria) this;
}
public Criteria andForceUpdPwdFlagGreaterThanOrEqualTo(Byte value) {
addCriterion("force_upd_pwd_flag >=", value, "forceUpdPwdFlag");
return (Criteria) this;
}
public Criteria andForceUpdPwdFlagLessThan(Byte value) {
addCriterion("force_upd_pwd_flag <", value, "forceUpdPwdFlag");
return (Criteria) this;
}
public Criteria andForceUpdPwdFlagLessThanOrEqualTo(Byte value) {
addCriterion("force_upd_pwd_flag <=", value, "forceUpdPwdFlag");
return (Criteria) this;
}
public Criteria andForceUpdPwdFlagIn(List<Byte> values) {
addCriterion("force_upd_pwd_flag in", values, "forceUpdPwdFlag");
return (Criteria) this;
}
public Criteria andForceUpdPwdFlagNotIn(List<Byte> values) {
addCriterion("force_upd_pwd_flag not in", values, "forceUpdPwdFlag");
return (Criteria) this;
}
public Criteria andForceUpdPwdFlagBetween(Byte value1, Byte value2) {
addCriterion("force_upd_pwd_flag between", value1, value2, "forceUpdPwdFlag");
return (Criteria) this;
}
public Criteria andForceUpdPwdFlagNotBetween(Byte value1, Byte value2) {
addCriterion("force_upd_pwd_flag not between", value1, value2, "forceUpdPwdFlag");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {

11
acupuncture-system/src/main/java/com/acupuncture/system/domain/po/PmsTreatment.java

@ -64,6 +64,8 @@ public class PmsTreatment implements Serializable {
private String remark;
private Long managementId;
private static final long serialVersionUID = 1L;
public Long getId() {
@ -306,6 +308,14 @@ public class PmsTreatment implements Serializable {
this.remark = remark == null ? null : remark.trim();
}
public Long getManagementId() {
return managementId;
}
public void setManagementId(Long managementId) {
this.managementId = managementId;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
@ -342,6 +352,7 @@ public class PmsTreatment implements Serializable {
sb.append(", updateBy=").append(updateBy);
sb.append(", updateTime=").append(updateTime);
sb.append(", remark=").append(remark);
sb.append(", managementId=").append(managementId);
sb.append("]");
return sb.toString();
}

60
acupuncture-system/src/main/java/com/acupuncture/system/domain/po/PmsTreatmentExample.java

@ -2071,6 +2071,66 @@ public class PmsTreatmentExample {
addCriterion("remark not between", value1, value2, "remark");
return (Criteria) this;
}
public Criteria andManagementIdIsNull() {
addCriterion("management_id is null");
return (Criteria) this;
}
public Criteria andManagementIdIsNotNull() {
addCriterion("management_id is not null");
return (Criteria) this;
}
public Criteria andManagementIdEqualTo(Long value) {
addCriterion("management_id =", value, "managementId");
return (Criteria) this;
}
public Criteria andManagementIdNotEqualTo(Long value) {
addCriterion("management_id <>", value, "managementId");
return (Criteria) this;
}
public Criteria andManagementIdGreaterThan(Long value) {
addCriterion("management_id >", value, "managementId");
return (Criteria) this;
}
public Criteria andManagementIdGreaterThanOrEqualTo(Long value) {
addCriterion("management_id >=", value, "managementId");
return (Criteria) this;
}
public Criteria andManagementIdLessThan(Long value) {
addCriterion("management_id <", value, "managementId");
return (Criteria) this;
}
public Criteria andManagementIdLessThanOrEqualTo(Long value) {
addCriterion("management_id <=", value, "managementId");
return (Criteria) this;
}
public Criteria andManagementIdIn(List<Long> values) {
addCriterion("management_id in", values, "managementId");
return (Criteria) this;
}
public Criteria andManagementIdNotIn(List<Long> values) {
addCriterion("management_id not in", values, "managementId");
return (Criteria) this;
}
public Criteria andManagementIdBetween(Long value1, Long value2) {
addCriterion("management_id between", value1, value2, "managementId");
return (Criteria) this;
}
public Criteria andManagementIdNotBetween(Long value1, Long value2) {
addCriterion("management_id not between", value1, value2, "managementId");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {

106
acupuncture-system/src/main/java/com/acupuncture/system/domain/po/RmsReportManagementTenant.java

@ -0,0 +1,106 @@
package com.acupuncture.system.domain.po;
import java.io.Serializable;
import java.util.Date;
public class RmsReportManagementTenant implements Serializable {
private Long id;
private Long reportId;
private Long tenantId;
private String createBy;
private Date createTime;
private String updateBy;
private Date updateTime;
private String remark;
private static final long serialVersionUID = 1L;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getReportId() {
return reportId;
}
public void setReportId(Long reportId) {
this.reportId = reportId;
}
public Long getTenantId() {
return tenantId;
}
public void setTenantId(Long tenantId) {
this.tenantId = tenantId;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy == null ? null : createBy.trim();
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy == null ? null : updateBy.trim();
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark == null ? null : remark.trim();
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", reportId=").append(reportId);
sb.append(", tenantId=").append(tenantId);
sb.append(", createBy=").append(createBy);
sb.append(", createTime=").append(createTime);
sb.append(", updateBy=").append(updateBy);
sb.append(", updateTime=").append(updateTime);
sb.append(", remark=").append(remark);
sb.append("]");
return sb.toString();
}
}

711
acupuncture-system/src/main/java/com/acupuncture/system/domain/po/RmsReportManagementTenantExample.java

@ -0,0 +1,711 @@
package com.acupuncture.system.domain.po;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class RmsReportManagementTenantExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public RmsReportManagementTenantExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Long value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Long value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Long value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Long value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Long value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Long value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Long> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Long> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Long value1, Long value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Long value1, Long value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andReportIdIsNull() {
addCriterion("report_id is null");
return (Criteria) this;
}
public Criteria andReportIdIsNotNull() {
addCriterion("report_id is not null");
return (Criteria) this;
}
public Criteria andReportIdEqualTo(Long value) {
addCriterion("report_id =", value, "reportId");
return (Criteria) this;
}
public Criteria andReportIdNotEqualTo(Long value) {
addCriterion("report_id <>", value, "reportId");
return (Criteria) this;
}
public Criteria andReportIdGreaterThan(Long value) {
addCriterion("report_id >", value, "reportId");
return (Criteria) this;
}
public Criteria andReportIdGreaterThanOrEqualTo(Long value) {
addCriterion("report_id >=", value, "reportId");
return (Criteria) this;
}
public Criteria andReportIdLessThan(Long value) {
addCriterion("report_id <", value, "reportId");
return (Criteria) this;
}
public Criteria andReportIdLessThanOrEqualTo(Long value) {
addCriterion("report_id <=", value, "reportId");
return (Criteria) this;
}
public Criteria andReportIdIn(List<Long> values) {
addCriterion("report_id in", values, "reportId");
return (Criteria) this;
}
public Criteria andReportIdNotIn(List<Long> values) {
addCriterion("report_id not in", values, "reportId");
return (Criteria) this;
}
public Criteria andReportIdBetween(Long value1, Long value2) {
addCriterion("report_id between", value1, value2, "reportId");
return (Criteria) this;
}
public Criteria andReportIdNotBetween(Long value1, Long value2) {
addCriterion("report_id not between", value1, value2, "reportId");
return (Criteria) this;
}
public Criteria andTenantIdIsNull() {
addCriterion("tenant_id is null");
return (Criteria) this;
}
public Criteria andTenantIdIsNotNull() {
addCriterion("tenant_id is not null");
return (Criteria) this;
}
public Criteria andTenantIdEqualTo(Long value) {
addCriterion("tenant_id =", value, "tenantId");
return (Criteria) this;
}
public Criteria andTenantIdNotEqualTo(Long value) {
addCriterion("tenant_id <>", value, "tenantId");
return (Criteria) this;
}
public Criteria andTenantIdGreaterThan(Long value) {
addCriterion("tenant_id >", value, "tenantId");
return (Criteria) this;
}
public Criteria andTenantIdGreaterThanOrEqualTo(Long value) {
addCriterion("tenant_id >=", value, "tenantId");
return (Criteria) this;
}
public Criteria andTenantIdLessThan(Long value) {
addCriterion("tenant_id <", value, "tenantId");
return (Criteria) this;
}
public Criteria andTenantIdLessThanOrEqualTo(Long value) {
addCriterion("tenant_id <=", value, "tenantId");
return (Criteria) this;
}
public Criteria andTenantIdIn(List<Long> values) {
addCriterion("tenant_id in", values, "tenantId");
return (Criteria) this;
}
public Criteria andTenantIdNotIn(List<Long> values) {
addCriterion("tenant_id not in", values, "tenantId");
return (Criteria) this;
}
public Criteria andTenantIdBetween(Long value1, Long value2) {
addCriterion("tenant_id between", value1, value2, "tenantId");
return (Criteria) this;
}
public Criteria andTenantIdNotBetween(Long value1, Long value2) {
addCriterion("tenant_id not between", value1, value2, "tenantId");
return (Criteria) this;
}
public Criteria andCreateByIsNull() {
addCriterion("create_by is null");
return (Criteria) this;
}
public Criteria andCreateByIsNotNull() {
addCriterion("create_by is not null");
return (Criteria) this;
}
public Criteria andCreateByEqualTo(String value) {
addCriterion("create_by =", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByNotEqualTo(String value) {
addCriterion("create_by <>", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByGreaterThan(String value) {
addCriterion("create_by >", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByGreaterThanOrEqualTo(String value) {
addCriterion("create_by >=", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByLessThan(String value) {
addCriterion("create_by <", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByLessThanOrEqualTo(String value) {
addCriterion("create_by <=", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByLike(String value) {
addCriterion("create_by like", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByNotLike(String value) {
addCriterion("create_by not like", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByIn(List<String> values) {
addCriterion("create_by in", values, "createBy");
return (Criteria) this;
}
public Criteria andCreateByNotIn(List<String> values) {
addCriterion("create_by not in", values, "createBy");
return (Criteria) this;
}
public Criteria andCreateByBetween(String value1, String value2) {
addCriterion("create_by between", value1, value2, "createBy");
return (Criteria) this;
}
public Criteria andCreateByNotBetween(String value1, String value2) {
addCriterion("create_by not between", value1, value2, "createBy");
return (Criteria) this;
}
public Criteria andCreateTimeIsNull() {
addCriterion("create_time is null");
return (Criteria) this;
}
public Criteria andCreateTimeIsNotNull() {
addCriterion("create_time is not null");
return (Criteria) this;
}
public Criteria andCreateTimeEqualTo(Date value) {
addCriterion("create_time =", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotEqualTo(Date value) {
addCriterion("create_time <>", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThan(Date value) {
addCriterion("create_time >", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
addCriterion("create_time >=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThan(Date value) {
addCriterion("create_time <", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
addCriterion("create_time <=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeIn(List<Date> values) {
addCriterion("create_time in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotIn(List<Date> values) {
addCriterion("create_time not in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeBetween(Date value1, Date value2) {
addCriterion("create_time between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
addCriterion("create_time not between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andUpdateByIsNull() {
addCriterion("update_by is null");
return (Criteria) this;
}
public Criteria andUpdateByIsNotNull() {
addCriterion("update_by is not null");
return (Criteria) this;
}
public Criteria andUpdateByEqualTo(String value) {
addCriterion("update_by =", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByNotEqualTo(String value) {
addCriterion("update_by <>", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByGreaterThan(String value) {
addCriterion("update_by >", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByGreaterThanOrEqualTo(String value) {
addCriterion("update_by >=", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByLessThan(String value) {
addCriterion("update_by <", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByLessThanOrEqualTo(String value) {
addCriterion("update_by <=", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByLike(String value) {
addCriterion("update_by like", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByNotLike(String value) {
addCriterion("update_by not like", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByIn(List<String> values) {
addCriterion("update_by in", values, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByNotIn(List<String> values) {
addCriterion("update_by not in", values, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByBetween(String value1, String value2) {
addCriterion("update_by between", value1, value2, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByNotBetween(String value1, String value2) {
addCriterion("update_by not between", value1, value2, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateTimeIsNull() {
addCriterion("update_time is null");
return (Criteria) this;
}
public Criteria andUpdateTimeIsNotNull() {
addCriterion("update_time is not null");
return (Criteria) this;
}
public Criteria andUpdateTimeEqualTo(Date value) {
addCriterion("update_time =", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotEqualTo(Date value) {
addCriterion("update_time <>", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeGreaterThan(Date value) {
addCriterion("update_time >", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
addCriterion("update_time >=", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeLessThan(Date value) {
addCriterion("update_time <", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
addCriterion("update_time <=", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeIn(List<Date> values) {
addCriterion("update_time in", values, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotIn(List<Date> values) {
addCriterion("update_time not in", values, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeBetween(Date value1, Date value2) {
addCriterion("update_time between", value1, value2, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
addCriterion("update_time not between", value1, value2, "updateTime");
return (Criteria) this;
}
public Criteria andRemarkIsNull() {
addCriterion("remark is null");
return (Criteria) this;
}
public Criteria andRemarkIsNotNull() {
addCriterion("remark is not null");
return (Criteria) this;
}
public Criteria andRemarkEqualTo(String value) {
addCriterion("remark =", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkNotEqualTo(String value) {
addCriterion("remark <>", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkGreaterThan(String value) {
addCriterion("remark >", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkGreaterThanOrEqualTo(String value) {
addCriterion("remark >=", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkLessThan(String value) {
addCriterion("remark <", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkLessThanOrEqualTo(String value) {
addCriterion("remark <=", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkLike(String value) {
addCriterion("remark like", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkNotLike(String value) {
addCriterion("remark not like", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkIn(List<String> values) {
addCriterion("remark in", values, "remark");
return (Criteria) this;
}
public Criteria andRemarkNotIn(List<String> values) {
addCriterion("remark not in", values, "remark");
return (Criteria) this;
}
public Criteria andRemarkBetween(String value1, String value2) {
addCriterion("remark between", value1, value2, "remark");
return (Criteria) this;
}
public Criteria andRemarkNotBetween(String value1, String value2) {
addCriterion("remark not between", value1, value2, "remark");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

11
acupuncture-system/src/main/java/com/acupuncture/system/domain/po/RmsReportType.java

@ -20,6 +20,8 @@ public class RmsReportType implements Serializable {
private String remark;
private String file;
private static final long serialVersionUID = 1L;
public Long getId() {
@ -86,6 +88,14 @@ public class RmsReportType implements Serializable {
this.remark = remark == null ? null : remark.trim();
}
public String getFile() {
return file;
}
public void setFile(String file) {
this.file = file == null ? null : file.trim();
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
@ -100,6 +110,7 @@ public class RmsReportType implements Serializable {
sb.append(", updateBy=").append(updateBy);
sb.append(", updateTime=").append(updateTime);
sb.append(", remark=").append(remark);
sb.append(", file=").append(file);
sb.append("]");
return sb.toString();
}

70
acupuncture-system/src/main/java/com/acupuncture/system/domain/po/RmsReportTypeExample.java

@ -624,6 +624,76 @@ public class RmsReportTypeExample {
addCriterion("remark not between", value1, value2, "remark");
return (Criteria) this;
}
public Criteria andFileIsNull() {
addCriterion("file is null");
return (Criteria) this;
}
public Criteria andFileIsNotNull() {
addCriterion("file is not null");
return (Criteria) this;
}
public Criteria andFileEqualTo(String value) {
addCriterion("file =", value, "file");
return (Criteria) this;
}
public Criteria andFileNotEqualTo(String value) {
addCriterion("file <>", value, "file");
return (Criteria) this;
}
public Criteria andFileGreaterThan(String value) {
addCriterion("file >", value, "file");
return (Criteria) this;
}
public Criteria andFileGreaterThanOrEqualTo(String value) {
addCriterion("file >=", value, "file");
return (Criteria) this;
}
public Criteria andFileLessThan(String value) {
addCriterion("file <", value, "file");
return (Criteria) this;
}
public Criteria andFileLessThanOrEqualTo(String value) {
addCriterion("file <=", value, "file");
return (Criteria) this;
}
public Criteria andFileLike(String value) {
addCriterion("file like", value, "file");
return (Criteria) this;
}
public Criteria andFileNotLike(String value) {
addCriterion("file not like", value, "file");
return (Criteria) this;
}
public Criteria andFileIn(List<String> values) {
addCriterion("file in", values, "file");
return (Criteria) this;
}
public Criteria andFileNotIn(List<String> values) {
addCriterion("file not in", values, "file");
return (Criteria) this;
}
public Criteria andFileBetween(String value1, String value2) {
addCriterion("file between", value1, value2, "file");
return (Criteria) this;
}
public Criteria andFileNotBetween(String value1, String value2) {
addCriterion("file not between", value1, value2, "file");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {

106
acupuncture-system/src/main/java/com/acupuncture/system/domain/po/RmsReportTypeTenant.java

@ -0,0 +1,106 @@
package com.acupuncture.system.domain.po;
import java.io.Serializable;
import java.util.Date;
public class RmsReportTypeTenant implements Serializable {
private Long id;
private Long reportTypeId;
private Long tenantId;
private String createBy;
private Date createTime;
private String updateBy;
private Date updateTime;
private String remark;
private static final long serialVersionUID = 1L;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getReportTypeId() {
return reportTypeId;
}
public void setReportTypeId(Long reportTypeId) {
this.reportTypeId = reportTypeId;
}
public Long getTenantId() {
return tenantId;
}
public void setTenantId(Long tenantId) {
this.tenantId = tenantId;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy == null ? null : createBy.trim();
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy == null ? null : updateBy.trim();
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark == null ? null : remark.trim();
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", reportTypeId=").append(reportTypeId);
sb.append(", tenantId=").append(tenantId);
sb.append(", createBy=").append(createBy);
sb.append(", createTime=").append(createTime);
sb.append(", updateBy=").append(updateBy);
sb.append(", updateTime=").append(updateTime);
sb.append(", remark=").append(remark);
sb.append("]");
return sb.toString();
}
}

711
acupuncture-system/src/main/java/com/acupuncture/system/domain/po/RmsReportTypeTenantExample.java

@ -0,0 +1,711 @@
package com.acupuncture.system.domain.po;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class RmsReportTypeTenantExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public RmsReportTypeTenantExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Long value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Long value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Long value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Long value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Long value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Long value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Long> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Long> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Long value1, Long value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Long value1, Long value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andReportTypeIdIsNull() {
addCriterion("report_type_id is null");
return (Criteria) this;
}
public Criteria andReportTypeIdIsNotNull() {
addCriterion("report_type_id is not null");
return (Criteria) this;
}
public Criteria andReportTypeIdEqualTo(Long value) {
addCriterion("report_type_id =", value, "reportTypeId");
return (Criteria) this;
}
public Criteria andReportTypeIdNotEqualTo(Long value) {
addCriterion("report_type_id <>", value, "reportTypeId");
return (Criteria) this;
}
public Criteria andReportTypeIdGreaterThan(Long value) {
addCriterion("report_type_id >", value, "reportTypeId");
return (Criteria) this;
}
public Criteria andReportTypeIdGreaterThanOrEqualTo(Long value) {
addCriterion("report_type_id >=", value, "reportTypeId");
return (Criteria) this;
}
public Criteria andReportTypeIdLessThan(Long value) {
addCriterion("report_type_id <", value, "reportTypeId");
return (Criteria) this;
}
public Criteria andReportTypeIdLessThanOrEqualTo(Long value) {
addCriterion("report_type_id <=", value, "reportTypeId");
return (Criteria) this;
}
public Criteria andReportTypeIdIn(List<Long> values) {
addCriterion("report_type_id in", values, "reportTypeId");
return (Criteria) this;
}
public Criteria andReportTypeIdNotIn(List<Long> values) {
addCriterion("report_type_id not in", values, "reportTypeId");
return (Criteria) this;
}
public Criteria andReportTypeIdBetween(Long value1, Long value2) {
addCriterion("report_type_id between", value1, value2, "reportTypeId");
return (Criteria) this;
}
public Criteria andReportTypeIdNotBetween(Long value1, Long value2) {
addCriterion("report_type_id not between", value1, value2, "reportTypeId");
return (Criteria) this;
}
public Criteria andTenantIdIsNull() {
addCriterion("tenant_id is null");
return (Criteria) this;
}
public Criteria andTenantIdIsNotNull() {
addCriterion("tenant_id is not null");
return (Criteria) this;
}
public Criteria andTenantIdEqualTo(Long value) {
addCriterion("tenant_id =", value, "tenantId");
return (Criteria) this;
}
public Criteria andTenantIdNotEqualTo(Long value) {
addCriterion("tenant_id <>", value, "tenantId");
return (Criteria) this;
}
public Criteria andTenantIdGreaterThan(Long value) {
addCriterion("tenant_id >", value, "tenantId");
return (Criteria) this;
}
public Criteria andTenantIdGreaterThanOrEqualTo(Long value) {
addCriterion("tenant_id >=", value, "tenantId");
return (Criteria) this;
}
public Criteria andTenantIdLessThan(Long value) {
addCriterion("tenant_id <", value, "tenantId");
return (Criteria) this;
}
public Criteria andTenantIdLessThanOrEqualTo(Long value) {
addCriterion("tenant_id <=", value, "tenantId");
return (Criteria) this;
}
public Criteria andTenantIdIn(List<Long> values) {
addCriterion("tenant_id in", values, "tenantId");
return (Criteria) this;
}
public Criteria andTenantIdNotIn(List<Long> values) {
addCriterion("tenant_id not in", values, "tenantId");
return (Criteria) this;
}
public Criteria andTenantIdBetween(Long value1, Long value2) {
addCriterion("tenant_id between", value1, value2, "tenantId");
return (Criteria) this;
}
public Criteria andTenantIdNotBetween(Long value1, Long value2) {
addCriterion("tenant_id not between", value1, value2, "tenantId");
return (Criteria) this;
}
public Criteria andCreateByIsNull() {
addCriterion("create_by is null");
return (Criteria) this;
}
public Criteria andCreateByIsNotNull() {
addCriterion("create_by is not null");
return (Criteria) this;
}
public Criteria andCreateByEqualTo(String value) {
addCriterion("create_by =", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByNotEqualTo(String value) {
addCriterion("create_by <>", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByGreaterThan(String value) {
addCriterion("create_by >", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByGreaterThanOrEqualTo(String value) {
addCriterion("create_by >=", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByLessThan(String value) {
addCriterion("create_by <", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByLessThanOrEqualTo(String value) {
addCriterion("create_by <=", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByLike(String value) {
addCriterion("create_by like", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByNotLike(String value) {
addCriterion("create_by not like", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByIn(List<String> values) {
addCriterion("create_by in", values, "createBy");
return (Criteria) this;
}
public Criteria andCreateByNotIn(List<String> values) {
addCriterion("create_by not in", values, "createBy");
return (Criteria) this;
}
public Criteria andCreateByBetween(String value1, String value2) {
addCriterion("create_by between", value1, value2, "createBy");
return (Criteria) this;
}
public Criteria andCreateByNotBetween(String value1, String value2) {
addCriterion("create_by not between", value1, value2, "createBy");
return (Criteria) this;
}
public Criteria andCreateTimeIsNull() {
addCriterion("create_time is null");
return (Criteria) this;
}
public Criteria andCreateTimeIsNotNull() {
addCriterion("create_time is not null");
return (Criteria) this;
}
public Criteria andCreateTimeEqualTo(Date value) {
addCriterion("create_time =", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotEqualTo(Date value) {
addCriterion("create_time <>", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThan(Date value) {
addCriterion("create_time >", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
addCriterion("create_time >=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThan(Date value) {
addCriterion("create_time <", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
addCriterion("create_time <=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeIn(List<Date> values) {
addCriterion("create_time in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotIn(List<Date> values) {
addCriterion("create_time not in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeBetween(Date value1, Date value2) {
addCriterion("create_time between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
addCriterion("create_time not between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andUpdateByIsNull() {
addCriterion("update_by is null");
return (Criteria) this;
}
public Criteria andUpdateByIsNotNull() {
addCriterion("update_by is not null");
return (Criteria) this;
}
public Criteria andUpdateByEqualTo(String value) {
addCriterion("update_by =", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByNotEqualTo(String value) {
addCriterion("update_by <>", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByGreaterThan(String value) {
addCriterion("update_by >", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByGreaterThanOrEqualTo(String value) {
addCriterion("update_by >=", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByLessThan(String value) {
addCriterion("update_by <", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByLessThanOrEqualTo(String value) {
addCriterion("update_by <=", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByLike(String value) {
addCriterion("update_by like", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByNotLike(String value) {
addCriterion("update_by not like", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByIn(List<String> values) {
addCriterion("update_by in", values, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByNotIn(List<String> values) {
addCriterion("update_by not in", values, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByBetween(String value1, String value2) {
addCriterion("update_by between", value1, value2, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByNotBetween(String value1, String value2) {
addCriterion("update_by not between", value1, value2, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateTimeIsNull() {
addCriterion("update_time is null");
return (Criteria) this;
}
public Criteria andUpdateTimeIsNotNull() {
addCriterion("update_time is not null");
return (Criteria) this;
}
public Criteria andUpdateTimeEqualTo(Date value) {
addCriterion("update_time =", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotEqualTo(Date value) {
addCriterion("update_time <>", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeGreaterThan(Date value) {
addCriterion("update_time >", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
addCriterion("update_time >=", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeLessThan(Date value) {
addCriterion("update_time <", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
addCriterion("update_time <=", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeIn(List<Date> values) {
addCriterion("update_time in", values, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotIn(List<Date> values) {
addCriterion("update_time not in", values, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeBetween(Date value1, Date value2) {
addCriterion("update_time between", value1, value2, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
addCriterion("update_time not between", value1, value2, "updateTime");
return (Criteria) this;
}
public Criteria andRemarkIsNull() {
addCriterion("remark is null");
return (Criteria) this;
}
public Criteria andRemarkIsNotNull() {
addCriterion("remark is not null");
return (Criteria) this;
}
public Criteria andRemarkEqualTo(String value) {
addCriterion("remark =", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkNotEqualTo(String value) {
addCriterion("remark <>", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkGreaterThan(String value) {
addCriterion("remark >", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkGreaterThanOrEqualTo(String value) {
addCriterion("remark >=", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkLessThan(String value) {
addCriterion("remark <", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkLessThanOrEqualTo(String value) {
addCriterion("remark <=", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkLike(String value) {
addCriterion("remark like", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkNotLike(String value) {
addCriterion("remark not like", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkIn(List<String> values) {
addCriterion("remark in", values, "remark");
return (Criteria) this;
}
public Criteria andRemarkNotIn(List<String> values) {
addCriterion("remark not in", values, "remark");
return (Criteria) this;
}
public Criteria andRemarkBetween(String value1, String value2) {
addCriterion("remark between", value1, value2, "remark");
return (Criteria) this;
}
public Criteria andRemarkNotBetween(String value1, String value2) {
addCriterion("remark not between", value1, value2, "remark");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

106
acupuncture-system/src/main/java/com/acupuncture/system/domain/po/SysNoticeUser.java

@ -0,0 +1,106 @@
package com.acupuncture.system.domain.po;
import java.io.Serializable;
import java.util.Date;
public class SysNoticeUser implements Serializable {
private Long id;
private Long noticeId;
private Long userId;
private String createBy;
private Date createTime;
private String updateBy;
private Date updateTime;
private String remark;
private static final long serialVersionUID = 1L;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getNoticeId() {
return noticeId;
}
public void setNoticeId(Long noticeId) {
this.noticeId = noticeId;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy == null ? null : createBy.trim();
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy == null ? null : updateBy.trim();
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark == null ? null : remark.trim();
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", noticeId=").append(noticeId);
sb.append(", userId=").append(userId);
sb.append(", createBy=").append(createBy);
sb.append(", createTime=").append(createTime);
sb.append(", updateBy=").append(updateBy);
sb.append(", updateTime=").append(updateTime);
sb.append(", remark=").append(remark);
sb.append("]");
return sb.toString();
}
}

711
acupuncture-system/src/main/java/com/acupuncture/system/domain/po/SysNoticeUserExample.java

@ -0,0 +1,711 @@
package com.acupuncture.system.domain.po;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class SysNoticeUserExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public SysNoticeUserExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Long value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Long value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Long value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Long value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Long value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Long value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Long> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Long> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Long value1, Long value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Long value1, Long value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andNoticeIdIsNull() {
addCriterion("notice_id is null");
return (Criteria) this;
}
public Criteria andNoticeIdIsNotNull() {
addCriterion("notice_id is not null");
return (Criteria) this;
}
public Criteria andNoticeIdEqualTo(Long value) {
addCriterion("notice_id =", value, "noticeId");
return (Criteria) this;
}
public Criteria andNoticeIdNotEqualTo(Long value) {
addCriterion("notice_id <>", value, "noticeId");
return (Criteria) this;
}
public Criteria andNoticeIdGreaterThan(Long value) {
addCriterion("notice_id >", value, "noticeId");
return (Criteria) this;
}
public Criteria andNoticeIdGreaterThanOrEqualTo(Long value) {
addCriterion("notice_id >=", value, "noticeId");
return (Criteria) this;
}
public Criteria andNoticeIdLessThan(Long value) {
addCriterion("notice_id <", value, "noticeId");
return (Criteria) this;
}
public Criteria andNoticeIdLessThanOrEqualTo(Long value) {
addCriterion("notice_id <=", value, "noticeId");
return (Criteria) this;
}
public Criteria andNoticeIdIn(List<Long> values) {
addCriterion("notice_id in", values, "noticeId");
return (Criteria) this;
}
public Criteria andNoticeIdNotIn(List<Long> values) {
addCriterion("notice_id not in", values, "noticeId");
return (Criteria) this;
}
public Criteria andNoticeIdBetween(Long value1, Long value2) {
addCriterion("notice_id between", value1, value2, "noticeId");
return (Criteria) this;
}
public Criteria andNoticeIdNotBetween(Long value1, Long value2) {
addCriterion("notice_id not between", value1, value2, "noticeId");
return (Criteria) this;
}
public Criteria andUserIdIsNull() {
addCriterion("user_id is null");
return (Criteria) this;
}
public Criteria andUserIdIsNotNull() {
addCriterion("user_id is not null");
return (Criteria) this;
}
public Criteria andUserIdEqualTo(Long value) {
addCriterion("user_id =", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdNotEqualTo(Long value) {
addCriterion("user_id <>", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdGreaterThan(Long value) {
addCriterion("user_id >", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdGreaterThanOrEqualTo(Long value) {
addCriterion("user_id >=", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdLessThan(Long value) {
addCriterion("user_id <", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdLessThanOrEqualTo(Long value) {
addCriterion("user_id <=", value, "userId");
return (Criteria) this;
}
public Criteria andUserIdIn(List<Long> values) {
addCriterion("user_id in", values, "userId");
return (Criteria) this;
}
public Criteria andUserIdNotIn(List<Long> values) {
addCriterion("user_id not in", values, "userId");
return (Criteria) this;
}
public Criteria andUserIdBetween(Long value1, Long value2) {
addCriterion("user_id between", value1, value2, "userId");
return (Criteria) this;
}
public Criteria andUserIdNotBetween(Long value1, Long value2) {
addCriterion("user_id not between", value1, value2, "userId");
return (Criteria) this;
}
public Criteria andCreateByIsNull() {
addCriterion("create_by is null");
return (Criteria) this;
}
public Criteria andCreateByIsNotNull() {
addCriterion("create_by is not null");
return (Criteria) this;
}
public Criteria andCreateByEqualTo(String value) {
addCriterion("create_by =", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByNotEqualTo(String value) {
addCriterion("create_by <>", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByGreaterThan(String value) {
addCriterion("create_by >", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByGreaterThanOrEqualTo(String value) {
addCriterion("create_by >=", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByLessThan(String value) {
addCriterion("create_by <", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByLessThanOrEqualTo(String value) {
addCriterion("create_by <=", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByLike(String value) {
addCriterion("create_by like", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByNotLike(String value) {
addCriterion("create_by not like", value, "createBy");
return (Criteria) this;
}
public Criteria andCreateByIn(List<String> values) {
addCriterion("create_by in", values, "createBy");
return (Criteria) this;
}
public Criteria andCreateByNotIn(List<String> values) {
addCriterion("create_by not in", values, "createBy");
return (Criteria) this;
}
public Criteria andCreateByBetween(String value1, String value2) {
addCriterion("create_by between", value1, value2, "createBy");
return (Criteria) this;
}
public Criteria andCreateByNotBetween(String value1, String value2) {
addCriterion("create_by not between", value1, value2, "createBy");
return (Criteria) this;
}
public Criteria andCreateTimeIsNull() {
addCriterion("create_time is null");
return (Criteria) this;
}
public Criteria andCreateTimeIsNotNull() {
addCriterion("create_time is not null");
return (Criteria) this;
}
public Criteria andCreateTimeEqualTo(Date value) {
addCriterion("create_time =", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotEqualTo(Date value) {
addCriterion("create_time <>", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThan(Date value) {
addCriterion("create_time >", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
addCriterion("create_time >=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThan(Date value) {
addCriterion("create_time <", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
addCriterion("create_time <=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeIn(List<Date> values) {
addCriterion("create_time in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotIn(List<Date> values) {
addCriterion("create_time not in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeBetween(Date value1, Date value2) {
addCriterion("create_time between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
addCriterion("create_time not between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andUpdateByIsNull() {
addCriterion("update_by is null");
return (Criteria) this;
}
public Criteria andUpdateByIsNotNull() {
addCriterion("update_by is not null");
return (Criteria) this;
}
public Criteria andUpdateByEqualTo(String value) {
addCriterion("update_by =", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByNotEqualTo(String value) {
addCriterion("update_by <>", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByGreaterThan(String value) {
addCriterion("update_by >", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByGreaterThanOrEqualTo(String value) {
addCriterion("update_by >=", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByLessThan(String value) {
addCriterion("update_by <", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByLessThanOrEqualTo(String value) {
addCriterion("update_by <=", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByLike(String value) {
addCriterion("update_by like", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByNotLike(String value) {
addCriterion("update_by not like", value, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByIn(List<String> values) {
addCriterion("update_by in", values, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByNotIn(List<String> values) {
addCriterion("update_by not in", values, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByBetween(String value1, String value2) {
addCriterion("update_by between", value1, value2, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateByNotBetween(String value1, String value2) {
addCriterion("update_by not between", value1, value2, "updateBy");
return (Criteria) this;
}
public Criteria andUpdateTimeIsNull() {
addCriterion("update_time is null");
return (Criteria) this;
}
public Criteria andUpdateTimeIsNotNull() {
addCriterion("update_time is not null");
return (Criteria) this;
}
public Criteria andUpdateTimeEqualTo(Date value) {
addCriterion("update_time =", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotEqualTo(Date value) {
addCriterion("update_time <>", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeGreaterThan(Date value) {
addCriterion("update_time >", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
addCriterion("update_time >=", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeLessThan(Date value) {
addCriterion("update_time <", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
addCriterion("update_time <=", value, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeIn(List<Date> values) {
addCriterion("update_time in", values, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotIn(List<Date> values) {
addCriterion("update_time not in", values, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeBetween(Date value1, Date value2) {
addCriterion("update_time between", value1, value2, "updateTime");
return (Criteria) this;
}
public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
addCriterion("update_time not between", value1, value2, "updateTime");
return (Criteria) this;
}
public Criteria andRemarkIsNull() {
addCriterion("remark is null");
return (Criteria) this;
}
public Criteria andRemarkIsNotNull() {
addCriterion("remark is not null");
return (Criteria) this;
}
public Criteria andRemarkEqualTo(String value) {
addCriterion("remark =", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkNotEqualTo(String value) {
addCriterion("remark <>", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkGreaterThan(String value) {
addCriterion("remark >", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkGreaterThanOrEqualTo(String value) {
addCriterion("remark >=", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkLessThan(String value) {
addCriterion("remark <", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkLessThanOrEqualTo(String value) {
addCriterion("remark <=", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkLike(String value) {
addCriterion("remark like", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkNotLike(String value) {
addCriterion("remark not like", value, "remark");
return (Criteria) this;
}
public Criteria andRemarkIn(List<String> values) {
addCriterion("remark in", values, "remark");
return (Criteria) this;
}
public Criteria andRemarkNotIn(List<String> values) {
addCriterion("remark not in", values, "remark");
return (Criteria) this;
}
public Criteria andRemarkBetween(String value1, String value2) {
addCriterion("remark between", value1, value2, "remark");
return (Criteria) this;
}
public Criteria andRemarkNotBetween(String value1, String value2) {
addCriterion("remark not between", value1, value2, "remark");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

9
acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/AdminReportVo.java

@ -6,6 +6,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @Author zzc
@ -25,6 +26,12 @@ public class AdminReportVo {
private Date createTime;
private List<Long> tenantIdList;
private String remark;
private String file;
}
@Data
@ -46,6 +53,8 @@ public class AdminReportVo {
private Date createTime;
private String typeName;
private List<Long> tenantIdList;
}
}

3
acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/DmsLoginUserVo.java

@ -42,6 +42,9 @@ public class DmsLoginUserVo {
private String status;
private String updateBy;
private String remark;
@ApiModelProperty("强制更新密码标志,初始密码/重置密码需要强制修改密码 0不需要重置 1需要")
private Byte forceUpdPwdFlag;
}
@Data

2
acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/PmsTreatmentVo.java

@ -57,6 +57,8 @@ public class PmsTreatmentVo {
private String zyzdQt;
private Long memberId;
private Long managementId;
private String reportTitle;
@Data
public static class QueueVo{

4
acupuncture-system/src/main/java/com/acupuncture/system/mapper/SysNoticeMapper.java

@ -2,6 +2,7 @@ package com.acupuncture.system.mapper;
import java.util.List;
import com.acupuncture.system.domain.SysNotice;
import org.apache.ibatis.annotations.Param;
/**
* 通知公告表 数据层
@ -24,7 +25,8 @@ public interface SysNoticeMapper
* @param notice 公告信息
* @return 公告集合
*/
public List<SysNotice> selectNoticeList(SysNotice notice);
public List<SysNotice> selectNoticeList(@Param("notice") SysNotice notice,
@Param("userId") Long userId);
/**
* 新增公告

2
acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/PmsTreatmentDao.java

@ -30,4 +30,6 @@ public interface PmsTreatmentDao {
List<PmsTreatmentVo.TreatmentVO> adminQuery(@Param("query") PmsTreatmentDto.TreatmentQueryDTO query);
PmsTreatmentVo.TreatmentRecordVO adminQueryTreatment(@Param("id") Long id);
List<PmsTreatmentVo.TreatmentRecordVO> adminQueryTreatmentZip(@Param("managementId") Long managementId);
}

3
acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/RmsReportDao.java

@ -16,4 +16,7 @@ public interface RmsReportDao {
List<AdminReportVo.TypeResult> queryTypeList(@Param("typeName") String typeName);
List<AdminReportVo.Result> queryManagerList(@Param("reportTitle") String reportTitle);
List<AdminReportVo.Result> queryManagerListMy(@Param("reportTitle") String reportTitle,
@Param("idList") List<Long> idList);
}

28
acupuncture-system/src/main/java/com/acupuncture/system/persist/mapper/RmsReportManagementTenantMapper.java

@ -0,0 +1,28 @@
package com.acupuncture.system.persist.mapper;
import com.acupuncture.system.domain.po.RmsReportManagementTenant;
import com.acupuncture.system.domain.po.RmsReportManagementTenantExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface RmsReportManagementTenantMapper {
long countByExample(RmsReportManagementTenantExample example);
int deleteByPrimaryKey(Long id);
int insert(RmsReportManagementTenant record);
int insertSelective(RmsReportManagementTenant record);
List<RmsReportManagementTenant> selectByExample(RmsReportManagementTenantExample example);
RmsReportManagementTenant selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") RmsReportManagementTenant record, @Param("example") RmsReportManagementTenantExample example);
int updateByExample(@Param("record") RmsReportManagementTenant record, @Param("example") RmsReportManagementTenantExample example);
int updateByPrimaryKeySelective(RmsReportManagementTenant record);
int updateByPrimaryKey(RmsReportManagementTenant record);
}

28
acupuncture-system/src/main/java/com/acupuncture/system/persist/mapper/RmsReportTypeTenantMapper.java

@ -0,0 +1,28 @@
package com.acupuncture.system.persist.mapper;
import com.acupuncture.system.domain.po.RmsReportTypeTenant;
import com.acupuncture.system.domain.po.RmsReportTypeTenantExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface RmsReportTypeTenantMapper {
long countByExample(RmsReportTypeTenantExample example);
int deleteByPrimaryKey(Long id);
int insert(RmsReportTypeTenant record);
int insertSelective(RmsReportTypeTenant record);
List<RmsReportTypeTenant> selectByExample(RmsReportTypeTenantExample example);
RmsReportTypeTenant selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") RmsReportTypeTenant record, @Param("example") RmsReportTypeTenantExample example);
int updateByExample(@Param("record") RmsReportTypeTenant record, @Param("example") RmsReportTypeTenantExample example);
int updateByPrimaryKeySelective(RmsReportTypeTenant record);
int updateByPrimaryKey(RmsReportTypeTenant record);
}

28
acupuncture-system/src/main/java/com/acupuncture/system/persist/mapper/SysNoticeUserMapper.java

@ -0,0 +1,28 @@
package com.acupuncture.system.persist.mapper;
import com.acupuncture.system.domain.po.SysNoticeUser;
import com.acupuncture.system.domain.po.SysNoticeUserExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface SysNoticeUserMapper {
long countByExample(SysNoticeUserExample example);
int deleteByPrimaryKey(Long id);
int insert(SysNoticeUser record);
int insertSelective(SysNoticeUser record);
List<SysNoticeUser> selectByExample(SysNoticeUserExample example);
SysNoticeUser selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") SysNoticeUser record, @Param("example") SysNoticeUserExample example);
int updateByExample(@Param("record") SysNoticeUser record, @Param("example") SysNoticeUserExample example);
int updateByPrimaryKeySelective(SysNoticeUser record);
int updateByPrimaryKey(SysNoticeUser record);
}

17
acupuncture-system/src/main/java/com/acupuncture/system/service/AdminReportService.java

@ -1,6 +1,9 @@
package com.acupuncture.system.service;
import com.acupuncture.common.annotation.DataSource;
import com.acupuncture.common.enums.DataSourceType;
import com.acupuncture.system.domain.dto.AdminReportDto;
import com.acupuncture.system.domain.po.RmsReportManagement;
import com.acupuncture.system.domain.vo.AdminReportVo;
import java.util.List;
@ -40,6 +43,13 @@ public interface AdminReportService {
*/
Integer delete(AdminReportDto.DeleteDto dto);
/**
* 查询我的上报管理
* @param dto
* @return
*/
List<AdminReportVo.Result> queryManagerListMy(AdminReportDto.QueryManagerDto dto);
/**
* 查询上报管理
* @param dto
@ -47,6 +57,13 @@ public interface AdminReportService {
*/
List<AdminReportVo.Result> queryManagerList(AdminReportDto.QueryManagerDto dto);
/**
* 查询上报管理
* @param dto
* @return
*/
List<RmsReportManagement> queryManagerListByType(Long typeId);
/**
* 新增上报管理
* @param dto

12
acupuncture-system/src/main/java/com/acupuncture/system/service/PmsTreatmentService.java

@ -2,6 +2,7 @@ package com.acupuncture.system.service;
import com.acupuncture.system.domain.dto.PmsPatientDto;
import com.acupuncture.system.domain.dto.PmsTreatmentDto;
import com.acupuncture.system.domain.po.RmsReportManagement;
import com.acupuncture.system.domain.vo.PmsTreatmentVo;
import org.springframework.web.multipart.MultipartFile;
@ -42,7 +43,7 @@ public interface PmsTreatmentService {
* @param queryDTO
* @return
*/
List<PmsTreatmentVo.TreatmentVO> listTreatment(PmsTreatmentDto.TreatmentQueryDTO queryDTO);
List<PmsTreatmentVo.TreatmentVO> listTreatment(PmsTreatmentDto.TreatmentQueryDTO queryDTO, List<RmsReportManagement> rmsReportManagements);
void saveAidRecord(PmsTreatmentDto.SaveAidRecord dto);
@ -61,7 +62,14 @@ public interface PmsTreatmentService {
String adminExportTreatmentPg(HttpServletResponse response, PmsTreatmentDto.ExportVO dto);
String adminExportTreatmentPgZip(HttpServletResponse response, PmsTreatmentDto.ExportZipVO dto) throws IOException;
void importTreatment(MultipartFile file) throws IOException;
void importTreatmentAdmin(MultipartFile file, Long tenantId) throws IOException;
String[] getTenantId(MultipartFile file) throws IOException;
/**
* 查询诊疗档案
* @param queryDTO
@ -71,4 +79,6 @@ public interface PmsTreatmentService {
void adminExportTreatment(HttpServletResponse response, PmsTreatmentDto.TreatmentQueryDTO dto);
void aduit(Long treatmentId, Byte status);
}

151
acupuncture-system/src/main/java/com/acupuncture/system/service/impl/AdminReportServiceImpl.java

@ -1,6 +1,7 @@
package com.acupuncture.system.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import com.acupuncture.common.core.domain.R;
import com.acupuncture.common.utils.SecurityUtils;
@ -9,13 +10,17 @@ import com.acupuncture.system.domain.po.*;
import com.acupuncture.system.domain.vo.AdminReportVo;
import com.acupuncture.system.persist.dao.RmsReportDao;
import com.acupuncture.system.persist.mapper.RmsReportManagementMapper;
import com.acupuncture.system.persist.mapper.RmsReportManagementTenantMapper;
import com.acupuncture.system.persist.mapper.RmsReportTypeMapper;
import com.acupuncture.system.persist.mapper.RmsReportTypeTenantMapper;
import com.acupuncture.system.service.AdminReportService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Author zzc
@ -32,16 +37,40 @@ public class AdminReportServiceImpl implements AdminReportService {
private RmsReportManagementMapper rmsReportManagementMapper;
@Resource
private RmsReportDao rmsReportDao;
@Resource
private RmsReportTypeTenantMapper rmsReportTypeTenantMapper;
@Resource
private RmsReportManagementTenantMapper rmsReportManagementTenantMapper;
@Override
public List<AdminReportVo.TypeResult> queryTypeList(String typeName) {
return rmsReportDao.queryTypeList(typeName);
List<AdminReportVo.TypeResult> typeResults = rmsReportDao.queryTypeList(typeName);
if (CollUtil.isNotEmpty(typeResults)) {
for (AdminReportVo.TypeResult typeResult : typeResults) {
RmsReportTypeTenantExample rmsReportTypeTenantExample = new RmsReportTypeTenantExample();
rmsReportTypeTenantExample.createCriteria().andReportTypeIdEqualTo(typeResult.getId());
List<RmsReportTypeTenant> rmsReportTypeTenants = rmsReportTypeTenantMapper.selectByExample(rmsReportTypeTenantExample);
if (CollUtil.isNotEmpty(rmsReportTypeTenants)) {
typeResult.setTenantIdList(rmsReportTypeTenants.stream().map(RmsReportTypeTenant::getTenantId).collect(Collectors.toList()));
}
}
}
return typeResults;
}
@Override
public Integer insert(AdminReportDto.AddDto dto) {
RmsReportType reportType = BeanUtil.copyProperties(dto, RmsReportType.class);
reportType.setId(IdUtil.getSnowflakeNextId());
if (CollUtil.isNotEmpty(dto.getTenantIdList())) {
for (Long tenantId : dto.getTenantIdList()) {
RmsReportTypeTenant rmsReportTypeTenant = new RmsReportTypeTenant();
rmsReportTypeTenant.setId(IdUtil.getSnowflakeNextId());
rmsReportTypeTenant.setReportTypeId(reportType.getId());
rmsReportTypeTenant.setTenantId(tenantId);
rmsReportTypeTenantMapper.insertSelective(rmsReportTypeTenant);
}
}
reportType.setCreateBy(SecurityUtils.getUsername());
reportType.setTypeName(dto.getTypeName());
reportType.setCreateTime(new Date());
@ -50,14 +79,46 @@ public class AdminReportServiceImpl implements AdminReportService {
@Override
public Integer update(AdminReportDto.UpdDto dto) {
if (CollUtil.isNotEmpty(dto.getTenantIdList())) {
RmsReportTypeTenantExample rmsReportTypeTenantExample = new RmsReportTypeTenantExample();
rmsReportTypeTenantExample.createCriteria().andReportTypeIdEqualTo(dto.getId());
List<RmsReportTypeTenant> rmsReportTypeTenants = rmsReportTypeTenantMapper.selectByExample(rmsReportTypeTenantExample);
if (CollUtil.isNotEmpty(rmsReportTypeTenants)) {
for (RmsReportTypeTenant rmsReportTypeTenant : rmsReportTypeTenants) {
rmsReportTypeTenantMapper.deleteByPrimaryKey(rmsReportTypeTenant.getId());
}
}
for (Long tenantId : dto.getTenantIdList()) {
RmsReportTypeTenant rmsReportTypeTenant = new RmsReportTypeTenant();
rmsReportTypeTenant.setId(IdUtil.getSnowflakeNextId());
rmsReportTypeTenant.setReportTypeId(dto.getId());
rmsReportTypeTenant.setTenantId(tenantId);
rmsReportTypeTenantMapper.insertSelective(rmsReportTypeTenant);
}
}
RmsReportType reportType = BeanUtil.copyProperties(dto, RmsReportType.class);
reportType.setTypeName(dto.getTypeName());
reportType.setUpdateBy(SecurityUtils.getUsername());
reportType.setCreateTime(new Date());
reportType.setFile(dto.getFile());
reportType.setRemark(dto.getRemark());
return rmsReportTypeMapper.updateByPrimaryKeySelective(reportType);
}
@Override
public Integer delete(AdminReportDto.DeleteDto dto) {
for (Long aLong : dto.getIdList()) {
RmsReportTypeTenantExample rmsReportTypeTenantExample = new RmsReportTypeTenantExample();
rmsReportTypeTenantExample.createCriteria().andReportTypeIdEqualTo(aLong);
List<RmsReportTypeTenant> rmsReportTypeTenants = rmsReportTypeTenantMapper.selectByExample(rmsReportTypeTenantExample);
if (CollUtil.isNotEmpty(rmsReportTypeTenants)) {
for (RmsReportTypeTenant rmsReportTypeTenant : rmsReportTypeTenants) {
rmsReportTypeTenantMapper.deleteByPrimaryKey(rmsReportTypeTenant.getId());
}
}
}
RmsReportTypeExample rmsReportTypeExample = new RmsReportTypeExample();
rmsReportTypeExample.createCriteria().andIdIn(dto.getIdList());
RmsReportType reportType = new RmsReportType();
@ -65,23 +126,95 @@ public class AdminReportServiceImpl implements AdminReportService {
return rmsReportTypeMapper.updateByExampleSelective(reportType, rmsReportTypeExample);
}
@Override
public List<AdminReportVo.Result> queryManagerListMy(AdminReportDto.QueryManagerDto dto) {
RmsReportManagementTenantExample rmsReportTypeTenantExample = new RmsReportManagementTenantExample();
rmsReportTypeTenantExample.createCriteria().andTenantIdEqualTo(SecurityUtils.getTenantId());
List<RmsReportManagementTenant> rmsReportTypeTenants = rmsReportManagementTenantMapper.selectByExample(rmsReportTypeTenantExample);
if (CollUtil.isEmpty(rmsReportTypeTenants)) {
return new ArrayList<>();
}
List<Long> idList = rmsReportTypeTenants.stream().map(RmsReportManagementTenant::getReportId).collect(Collectors.toList());
List<AdminReportVo.Result> results = rmsReportDao.queryManagerListMy(dto.getReportTitle(), idList);
if (CollUtil.isNotEmpty(results)) {
for (AdminReportVo.Result result : results) {
RmsReportManagementTenantExample rmsReportManagementTenantExample = new RmsReportManagementTenantExample();
rmsReportManagementTenantExample.createCriteria().andReportIdEqualTo(result.getId());
List<RmsReportManagementTenant> rmsReportManagementTenants = rmsReportManagementTenantMapper.selectByExample(rmsReportManagementTenantExample);
if (CollUtil.isNotEmpty(rmsReportManagementTenants)) {
result.setTenantIdList(rmsReportManagementTenants.stream().map(RmsReportManagementTenant::getTenantId).collect(Collectors.toList()));
}
}
}
return results;
}
@Override
public List<AdminReportVo.Result> queryManagerList(AdminReportDto.QueryManagerDto dto) {
return rmsReportDao.queryManagerList(dto.getReportTitle());
List<AdminReportVo.Result> results = rmsReportDao.queryManagerList(dto.getReportTitle());
if (CollUtil.isNotEmpty(results)) {
for (AdminReportVo.Result result : results) {
RmsReportManagementTenantExample rmsReportManagementTenantExample = new RmsReportManagementTenantExample();
rmsReportManagementTenantExample.createCriteria().andReportIdEqualTo(result.getId());
List<RmsReportManagementTenant> rmsReportManagementTenants = rmsReportManagementTenantMapper.selectByExample(rmsReportManagementTenantExample);
if (CollUtil.isNotEmpty(rmsReportManagementTenants)) {
result.setTenantIdList(rmsReportManagementTenants.stream().map(RmsReportManagementTenant::getTenantId).collect(Collectors.toList()));
}
}
}
return results;
}
@Override
public List<RmsReportManagement> queryManagerListByType(Long typeId) {
RmsReportManagementExample reportManagementExample = new RmsReportManagementExample();
reportManagementExample.createCriteria().andReportTypeEqualTo(typeId);
return rmsReportManagementMapper.selectByExample(reportManagementExample);
}
@Override
public Integer insertManager(AdminReportDto.AddManagerDto dto) {
RmsReportManagement reportManagement = BeanUtil.copyProperties(dto, RmsReportManagement.class);
reportManagement.setId(IdUtil.getSnowflakeNextId());
if (CollUtil.isNotEmpty(dto.getTenantIdList())) {
for (Long tenantId : dto.getTenantIdList()) {
RmsReportManagementTenant rmsReportTypeTenant = new RmsReportManagementTenant();
rmsReportTypeTenant.setId(IdUtil.getSnowflakeNextId());
rmsReportTypeTenant.setReportId(reportManagement.getId());
rmsReportTypeTenant.setTenantId(tenantId);
rmsReportManagementTenantMapper.insertSelective(rmsReportTypeTenant);
}
}
reportManagement.setStatus(dto.getStatus());
reportManagement.setCreateBy(SecurityUtils.getUsername());
reportManagement.setCreateTime(new Date());
reportManagement.setStatus((byte) 0);
return rmsReportManagementMapper.insertSelective(reportManagement);
}
@Override
public Integer updateManager(AdminReportDto.UpdManagerDto dto) {
if (CollUtil.isNotEmpty(dto.getTenantIdList())) {
RmsReportManagementTenantExample rmsReportTypeTenantExample = new RmsReportManagementTenantExample();
rmsReportTypeTenantExample.createCriteria().andReportIdEqualTo(dto.getId());
List<RmsReportManagementTenant> rmsReportTypeTenants = rmsReportManagementTenantMapper.selectByExample(rmsReportTypeTenantExample);
if (CollUtil.isNotEmpty(rmsReportTypeTenants)) {
for (RmsReportManagementTenant rmsReportTypeTenant : rmsReportTypeTenants) {
rmsReportManagementTenantMapper.deleteByPrimaryKey(rmsReportTypeTenant.getId());
}
}
for (Long tenantId : dto.getTenantIdList()) {
RmsReportManagementTenant rmsReportTypeTenant = new RmsReportManagementTenant();
rmsReportTypeTenant.setId(IdUtil.getSnowflakeNextId());
rmsReportTypeTenant.setReportId(dto.getId());
rmsReportTypeTenant.setTenantId(tenantId);
rmsReportManagementTenantMapper.insertSelective(rmsReportTypeTenant);
}
}
RmsReportManagement reportManagement = BeanUtil.copyProperties(dto, RmsReportManagement.class);
reportManagement.setUpdateBy(SecurityUtils.getUsername());
reportManagement.setCreateTime(new Date());
@ -90,6 +223,18 @@ public class AdminReportServiceImpl implements AdminReportService {
@Override
public Integer deleteManager(AdminReportDto.DeleteManagerDto dto) {
for (Long aLong : dto.getIdList()) {
RmsReportManagementTenantExample rmsReportTypeTenantExample = new RmsReportManagementTenantExample();
rmsReportTypeTenantExample.createCriteria().andReportIdEqualTo(aLong);
List<RmsReportManagementTenant> rmsReportTypeTenants = rmsReportManagementTenantMapper.selectByExample(rmsReportTypeTenantExample);
if (CollUtil.isNotEmpty(rmsReportTypeTenants)) {
for (RmsReportManagementTenant rmsReportTypeTenant : rmsReportTypeTenants) {
rmsReportManagementTenantMapper.deleteByPrimaryKey(rmsReportTypeTenant.getId());
}
}
}
RmsReportManagementExample reportManagementExample = new RmsReportManagementExample();
reportManagementExample.createCriteria().andIdIn(dto.getIdList());
RmsReportManagement reportManagement = new RmsReportManagement();

1
acupuncture-system/src/main/java/com/acupuncture/system/service/impl/AdminTenantUserServiceImpl.java

@ -68,6 +68,7 @@ public class AdminTenantUserServiceImpl implements AdminTenantUserService {
DmsUser dmsUser = new DmsUser();
dmsUser.setId(dto.getId());
dmsUser.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
dmsUser.setForceUpdPwdFlag((byte) 1);
return dmsUserMapper.updateByPrimaryKeySelective(dmsUser);
}
}

1
acupuncture-system/src/main/java/com/acupuncture/system/service/impl/DmsLoginServiceImpl.java

@ -64,6 +64,7 @@ public class DmsLoginServiceImpl implements DmsLoginService {
user.setId(userId);
user.setUserName(username);
user.setPassword(password);
user.setForceUpdPwdFlag(( byte) 0);
return dmsUserDao.updateUser(user);
}

372
acupuncture-system/src/main/java/com/acupuncture/system/service/impl/PmsTreatmentServiceImpl.java

@ -13,18 +13,20 @@ import cn.hutool.extra.pinyin.PinyinUtil;
import cn.hutool.poi.excel.BigExcelWriter;
import cn.hutool.poi.excel.ExcelUtil;
import com.acupuncture.common.constant.UserConstants;
import com.acupuncture.common.core.domain.JsonResponse;
import com.acupuncture.common.core.redis.RedisCache;
import com.acupuncture.common.exception.base.BaseException;
import com.acupuncture.common.utils.AsposeUtils;
import com.acupuncture.common.utils.ExceptionUtil;
import com.acupuncture.common.utils.SecurityUtils;
import com.acupuncture.common.utils.ZipUtils;
import com.acupuncture.system.domain.dto.PmsPatientDto;
import com.acupuncture.system.domain.dto.PmsTreatmentDto;
import com.acupuncture.system.domain.po.*;
import com.acupuncture.system.domain.vo.FmsFollowupVo;
import com.acupuncture.system.domain.vo.PmsPatientVo;
import com.acupuncture.system.domain.vo.PmsTreatmentVo;
import com.acupuncture.system.persist.dao.FmsFollowupDao;
import com.acupuncture.system.persist.dao.PmsPatientDao;
import com.acupuncture.system.persist.dao.PmsTreatmentDao;
import com.acupuncture.system.persist.mapper.*;
import com.acupuncture.system.service.PmsPatientService;
@ -42,9 +44,11 @@ import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.*;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Function;
import java.util.stream.Collectors;
@ -75,6 +79,13 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
private RedisCache redisCache;
@Resource
private DmsTenantMapper dmsTenantMapper;
@Resource
private PmsPatientDao pmsPatientDao;
@Resource
private RmsReportManagementMapper rmsReportManagementMapper;
@Resource
private UmsDataSourceMapper umsDataSourceMapper;
@Value("${file.TreamentTemplate}")
private String treamentTemplate;
@Value("${file.pgTemplate}")
@ -218,12 +229,19 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
}
@Override
public List<PmsTreatmentVo.TreatmentVO> listTreatment(PmsTreatmentDto.TreatmentQueryDTO queryDTO) {
public List<PmsTreatmentVo.TreatmentVO> listTreatment(PmsTreatmentDto.TreatmentQueryDTO queryDTO, List<RmsReportManagement> rmsReportManagements) {
List<PmsTreatmentVo.TreatmentVO> query = pmsTreatmentDao.query(queryDTO, SecurityUtils.getTenantId());
if (CollectionUtil.isNotEmpty(query)) {
//查询公共队列
Map<Long, String> map1 = new HashMap<>();
if (CollectionUtil.isNotEmpty(rmsReportManagements)) {
map1 = rmsReportManagements.stream().collect(Collectors.toMap(RmsReportManagement::getId, RmsReportManagement::getReportTitle));
}
List<Object> commonFollowupQueue = redisCache.getCacheList("common_followup_queue");
for (PmsTreatmentVo.TreatmentVO treatmentVO : query) {
if (treatmentVO.getManagementId() != null) {
treatmentVO.setReportTitle(map1.get(treatmentVO.getManagementId()));
}
PmsTreatmentRecordExample pmsTreatmentRecordExample = new PmsTreatmentRecordExample();
pmsTreatmentRecordExample.createCriteria().andDelFlagEqualTo((byte) 0).andQuestionCodeIn(CollectionUtil.newArrayList("JBXX_ZYZD", "JBXX_ZYZD_QT")).andTreatmentIdEqualTo(treatmentVO.getId());
List<PmsTreatmentRecord> pmsTreatmentRecords = pmsTreatmentRecordMapper.selectByExample(pmsTreatmentRecordExample);
@ -459,7 +477,7 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
@Override
public void exportTreatment(HttpServletResponse response, PmsTreatmentDto.TreatmentQueryDTO dto) {
List<PmsTreatmentVo.TreatmentVO> treatmentVOList = listTreatment(dto);
List<PmsTreatmentVo.TreatmentVO> treatmentVOList = listTreatment(dto, null);
if (CollectionUtil.isEmpty(treatmentVOList)) {
throw new BaseException("暂无数据");
}
@ -655,9 +673,9 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
}
PmsTreatmentRecordExample pmsTreatmentRecordExample = new PmsTreatmentRecordExample();
pmsTreatmentRecordExample.createCriteria().andTreatmentIdEqualTo(dto.getTreatmentId()).andDelFlagEqualTo((byte) 0);
List<PmsTreatmentRecord> pmsTreatmentRecords = pmsTreatmentRecordMapper.selectByExample(pmsTreatmentRecordExample);
String pdfName = treatmentRecordVO.getName() + "_" + treatmentRecordVO.getVisitNumber();
// List<PmsTreatmentRecord> pmsTreatmentRecords = pmsTreatmentRecordMapper.selectByExample(pmsTreatmentRecordExample);
List<PmsTreatmentVo.TreatmentRecord> pmsTreatmentRecords = pmsTreatmentDao.adminSelectRecord(dto.getTreatmentId(), null);
String pdfName = treatmentRecordVO.getName() + "_" + (StrUtil.isNotEmpty(treatmentRecordVO.getVisitNumber()) ? treatmentRecordVO.getVisitNumber() : System.currentTimeMillis());
String wordPath = profilePath + File.separator + pdfName + ".docx";
String pdfPath = profilePath + File.separator + pdfName + ".pdf";
try {
@ -667,45 +685,90 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
map.put("sex", treatmentRecordVO.getGender() == 0 ? "男" : "女");
map.put("age", treatmentRecordVO.getAge() + " 岁");
map.put("phone", treatmentRecordVO.getPhone());
map.put("visitNum", treatmentRecordVO.getVisitNumber());
map.put("visitNum", StrUtil.isEmpty(treatmentRecordVO.getVisitNumber()) ? null : treatmentRecordVO.getVisitNumber());
map.put("visitTime", DateUtil.format(treatmentRecordVO.getVisitTime(), "yyyy-MM-dd"));
map.put("doctor", treatmentRecordVO.getDoctor());
map.put("createBy", treatmentRecordVO.getCreateBy());
map.put("createTime", DateUtil.format(treatmentRecordVO.getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
map.put("status", treatmentRecordVO.getStatus() == 0 ? "未完成" : "已完成");
map.put("report_date", DateUtil.format(new Date(), "yyyy-MM-dd"));
if (treatmentRecordVO != null) {
if (StrUtil.isNotEmpty(treatmentRecordVO.getTenantName())) {
map.put("h_name", treatmentRecordVO.getTenantName());
}
if (CollectionUtil.isNotEmpty(pmsTreatmentRecords)) {
Map<String, PmsTreatmentRecord> recordMap = pmsTreatmentRecords.stream().collect(Collectors.toMap(PmsTreatmentRecord::getQuestionCode, Function.identity()));
map.put("Clinical_diagnosis", recordMap.get("JBXX_ZYZD") == null ? "" : StrUtil.split(recordMap.get("JBXX_ZYZD").getAnswer(), UserConstants.ANSWER_JOIN_STRING).stream().collect(Collectors.joining(", ")));
map.put("PG_RTCF_TXLX", recordMap.get("PG_RTCF_TXLX") == null ? "" : recordMap.get("PG_RTCF_TXLX").getAnswer());
map.put("PG_RTCF_STNL", recordMap.get("PG_RTCF_STNL") == null ? "" : recordMap.get("PG_RTCF_STNL").getAnswer());
map.put("PG_RTCF_JKPF", recordMap.get("PG_RTCF_JKPF") == null ? "" : recordMap.get("PG_RTCF_JKPF").getAnswer());
map.put("PG_RTCF_TZ", recordMap.get("PG_RTCF_TZ") == null ? "" : recordMap.get("PG_RTCF_TZ").getAnswer());
map.put("PG_RTCF_QZTZ", recordMap.get("PG_RTCF_QZTZ") == null ? "" : recordMap.get("PG_RTCF_QZTZ").getAnswer());
map.put("PG_RTCF_JRL", recordMap.get("PG_RTCF_JRL") == null ? "" : recordMap.get("PG_RTCF_JRL").getAnswer());
map.put("PG_RTCF_TBW", recordMap.get("PG_RTCF_TBW") == null ? "" : recordMap.get("PG_RTCF_TBW").getAnswer());
map.put("PG_RTCF_DBZ", recordMap.get("PG_RTCF_DBZ") == null ? "" : recordMap.get("PG_RTCF_DBZ").getAnswer());
map.put("PG_RTCF_GZ", recordMap.get("PG_RTCF_GZ") == null ? "" : recordMap.get("PG_RTCF_GZ").getAnswer());
map.put("PG_RTCF_GGJ", recordMap.get("PG_RTCF_GGJ") == null ? "" : recordMap.get("PG_RTCF_GGJ").getAnswer());
map.put("PG_RTCF_ZF", recordMap.get("PG_RTCF_ZF") == null ? "" : recordMap.get("PG_RTCF_ZF").getAnswer());
map.put("PG_RTCF_WHR", recordMap.get("PG_RTCF_WHR") == null ? "" : recordMap.get("PG_RTCF_WHR").getAnswer());
map.put("PG_RTCF_BMI", recordMap.get("PG_RTCF_BMI") == null ? "" : recordMap.get("PG_RTCF_BMI").getAnswer());
map.put("PG_RTCF_PBF", recordMap.get("PG_RTCF_PBF") == null ? "" : recordMap.get("PG_RTCF_PBF").getAnswer());
map.put("PG_RTCF_NZZFSP", recordMap.get("PG_RTCF_NZZFSP") == null ? "" : recordMap.get("PG_RTCF_NZZFSP").getAnswer());
map.put("PG_TZBS_ZYTZ", recordMap.get("PG_TZBS_ZYTZ") == null ? "" : recordMap.get("PG_TZBS_ZYTZ").getAnswer());
map.put("PG_TZBS_JJTZ", recordMap.get("PG_TZBS_JJTZ") == null ? "" : StrUtil.split(recordMap.get("PG_TZBS_JJTZ").getAnswer(), UserConstants.ANSWER_JOIN_STRING).stream().collect(Collectors.joining(",")));
Map<String, List<PmsTreatmentVo.TreatmentRecord>> recordMap = pmsTreatmentRecords.stream().collect(Collectors.groupingBy(PmsTreatmentVo.TreatmentRecord::getQuestionCode));
map.put("Clinical_diagnosis", recordMap.get("JBXX_ZYZD") == null ? "" : StrUtil.split(recordMap.get("JBXX_ZYZD").get(0).getAnswerString(), UserConstants.ANSWER_JOIN_STRING).stream().collect(Collectors.joining(", ")));
String txlx = recordMap.get("PG_RTCF_TXLX") == null ? "" : recordMap.get("PG_RTCF_TXLX").get(0).getAnswerString();
if (StrUtil.isEmpty(txlx)) {
map.put("rtcf_flag", false);
} else {
map.put("rtcf_flag", true);
}
map.put("PG_RTCF_TXLX", txlx);
map.put("PG_RTCF_STNL", recordMap.get("PG_RTCF_STNL") == null ? "" : recordMap.get("PG_RTCF_STNL").get(0).getAnswer());
map.put("PG_RTCF_JKPF", recordMap.get("PG_RTCF_JKPF") == null ? "" : recordMap.get("PG_RTCF_JKPF").get(0).getAnswer());
map.put("PG_RTCF_TZ", recordMap.get("PG_RTCF_TZ") == null ? "" : recordMap.get("PG_RTCF_TZ").get(0).getAnswer());
map.put("PG_RTCF_QZTZ", recordMap.get("PG_RTCF_QZTZ") == null ? "" : recordMap.get("PG_RTCF_QZTZ").get(0).getAnswer());
map.put("PG_RTCF_JRL", recordMap.get("PG_RTCF_JRL") == null ? "" : recordMap.get("PG_RTCF_JRL").get(0).getAnswer());
map.put("PG_RTCF_TBW", recordMap.get("PG_RTCF_TBW") == null ? "" : recordMap.get("PG_RTCF_TBW").get(0).getAnswer());
map.put("PG_RTCF_DBZ", recordMap.get("PG_RTCF_DBZ") == null ? "" : recordMap.get("PG_RTCF_DBZ").get(0).getAnswer());
map.put("PG_RTCF_GZ", recordMap.get("PG_RTCF_GZ") == null ? "" : recordMap.get("PG_RTCF_GZ").get(0).getAnswer());
map.put("PG_RTCF_GGJ", recordMap.get("PG_RTCF_GGJ") == null ? "" : recordMap.get("PG_RTCF_GGJ").get(0).getAnswer());
map.put("PG_RTCF_ZF", recordMap.get("PG_RTCF_ZF") == null ? "" : recordMap.get("PG_RTCF_ZF").get(0).getAnswer());
map.put("PG_RTCF_WHR", recordMap.get("PG_RTCF_WHR") == null ? "" : recordMap.get("PG_RTCF_WHR").get(0).getAnswer());
map.put("PG_RTCF_BMI", recordMap.get("PG_RTCF_BMI") == null ? "" : recordMap.get("PG_RTCF_BMI").get(0).getAnswer());
map.put("PG_RTCF_PBF", recordMap.get("PG_RTCF_PBF") == null ? "" : recordMap.get("PG_RTCF_PBF").get(0).getAnswer());
map.put("PG_RTCF_NZZFSP", recordMap.get("PG_RTCF_NZZFSP") == null ? "" : recordMap.get("PG_RTCF_NZZFSP").get(0).getAnswer());
String tzbs = recordMap.get("PG_TZBS_ZYTZ") == null ? "" : recordMap.get("PG_TZBS_ZYTZ").get(0).getAnswerString();
if (StrUtil.isEmpty(tzbs)) {
map.put("bsjg_flag", false);
} else {
map.put("bsjg_flag", true);
}
map.put("PG_TZBS_ZYTZ", tzbs);
map.put("PG_TZBS_JJTZ", recordMap.get("PG_TZBS_JJTZ") == null ? "" : StrUtil.split(recordMap.get("PG_TZBS_JJTZ").get(0).getAnswerString(), UserConstants.ANSWER_JOIN_STRING).stream().collect(Collectors.joining(",")));
String score1 = recordMap.get("PG_TT_TAPS_DF") == null ? "" : recordMap.get("PG_TT_TAPS_DF").get(0).getAnswerString();
String score2 = recordMap.get("PG_TT_TRACE_DF") == null ? "" : recordMap.get("PG_TT_TRACE_DF").get(0).getAnswerString();
String score3 = recordMap.get("PG_TT_SRS22_DF") == null ? "" : recordMap.get("PG_TT_SRS22_DF").get(0).getAnswerString();
if (StrUtil.isEmpty(score1) && StrUtil.isEmpty(score2) && StrUtil.isEmpty(score3)) {
map.put("ttpg_flag", false);
} else {
map.put("ttpg_flag", true);
}
map.put("score1", score1);
map.put("score2", score2);
map.put("score3", score3);
String score4 = recordMap.get("PG_SM_PHQ-9_DF") == null ? "" : recordMap.get("PG_SM_PHQ-9_DF").get(0).getAnswerString();
String score5 = recordMap.get("PG_SM_EPSW_DF") == null ? "" : recordMap.get("PG_SM_EPSW_DF").get(0).getAnswerString();
String score6 = recordMap.get("PG_SM_PSQI_DF") == null ? "" : recordMap.get("PG_SM_PSQI_DF").get(0).getAnswerString();
map.put("score1", recordMap.get("PG_TT_TAPS_DF") == null ? "" : recordMap.get("PG_TT_TAPS_DF").getAnswer());
map.put("score2", recordMap.get("PG_TT_TRACE_DF") == null ? "" : recordMap.get("PG_TT_TRACE_DF").getAnswer());
map.put("score3", recordMap.get("PG_TT_SRS22_DF") == null ? "" : recordMap.get("PG_TT_SRS22_DF").getAnswer());
map.put("score4", recordMap.get("PG_SM_PHQ-9_DF") == null ? "" : recordMap.get("PG_SM_PHQ-9_DF").getAnswer());
map.put("score5", recordMap.get("PG_SM_EPSW_DF") == null ? "" : recordMap.get("PG_SM_EPSW_DF").getAnswer());
map.put("score6", recordMap.get("PG_SM_PSQI_DF") == null ? "" : recordMap.get("PG_SM_PSQI_DF").getAnswer());
map.put("score7", recordMap.get("PG_JL_HAMD-24_DF") == null ? "" : recordMap.get("PG_JL_HAMD-24_DF").getAnswer());
map.put("score8", recordMap.get("PG_JL_SAS_DF") == null ? "" : recordMap.get("PG_JL_SAS_DF").getAnswer());
if (StrUtil.isEmpty(score4) && StrUtil.isEmpty(score5) && StrUtil.isEmpty(score6)) {
map.put("smpg_flag", false);
} else {
map.put("smpg_flag", true);
}
map.put("table0", Tables.of(new String[][]{
new String[]{"00", "01"},
new String[]{"10", "11"}
}).border(BorderStyle.DEFAULT).create());
map.put("score4", score4);
map.put("score5", score5);
map.put("score6", score6);
String score7 = recordMap.get("PG_JL_HAMD-24_DF") == null ? "" : recordMap.get("PG_JL_HAMD-24_DF").get(0).getAnswerString();
String score8 = recordMap.get("PG_JL_SAS_DF") == null ? "" : recordMap.get("PG_JL_SAS_DF").get(0).getAnswerString();
if (StrUtil.isEmpty(score7) && StrUtil.isEmpty(score8)) {
map.put("jlpg_flag", false);
} else {
map.put("jlpg_flag", true);
}
map.put("score7", score7);
map.put("score8", score8);
}
//渲染
template.render(map);
@ -721,6 +784,144 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
return profileUrl + "/" + pdfName + ".pdf";
}
@Override
public String adminExportTreatmentPgZip(HttpServletResponse response, PmsTreatmentDto.ExportZipVO dto) throws IOException {
RmsReportManagement reportManagement = rmsReportManagementMapper.selectByPrimaryKey(dto.getManagementId());
if (reportManagement == null) {
return null;
}
return adminExportTreatmentPg(response, dto.getManagementId(), reportManagement.getReportTitle());
}
private String adminExportTreatmentPg(HttpServletResponse response, Long managementId, String title) throws IOException {
List<PmsTreatmentVo.TreatmentRecordVO> treatmentRecordVOS = pmsTreatmentDao.adminQueryTreatmentZip(managementId);
if (CollectionUtil.isEmpty(treatmentRecordVOS)) {
return null;
}
List<File> fileList = new ArrayList<>();
for (PmsTreatmentVo.TreatmentRecordVO treatmentRecordVO : treatmentRecordVOS) {
if (treatmentRecordVO == null) {
throw new BaseException("诊疗信息不存在");
}
PmsTreatmentRecordExample pmsTreatmentRecordExample = new PmsTreatmentRecordExample();
pmsTreatmentRecordExample.createCriteria().andTreatmentIdEqualTo(treatmentRecordVO.getId()).andDelFlagEqualTo((byte) 0);
// List<PmsTreatmentRecord> pmsTreatmentRecords = pmsTreatmentRecordMapper.selectByExample(pmsTreatmentRecordExample);
List<PmsTreatmentVo.TreatmentRecord> pmsTreatmentRecords = pmsTreatmentDao.adminSelectRecord(treatmentRecordVO.getId(), null);
String pdfName = treatmentRecordVO.getName() + "_" + (StrUtil.isNotEmpty(treatmentRecordVO.getVisitNumber()) ? treatmentRecordVO.getVisitNumber() : System.currentTimeMillis());
String wordPath = profilePath + File.separator + pdfName + ".docx";
String pdfPath = profilePath + File.separator + pdfName + ".pdf";
try {
XWPFTemplate template = XWPFTemplate.compile(pgTemplate);
Map<String, Object> map = new HashMap<>();
map.put("name", treatmentRecordVO.getName());
map.put("sex", treatmentRecordVO.getGender() == 0 ? "男" : "女");
map.put("age", treatmentRecordVO.getAge() + " 岁");
map.put("phone", treatmentRecordVO.getPhone());
map.put("visitNum", StrUtil.isEmpty(treatmentRecordVO.getVisitNumber()) ? null : treatmentRecordVO.getVisitNumber());
map.put("visitTime", DateUtil.format(treatmentRecordVO.getVisitTime(), "yyyy-MM-dd"));
map.put("doctor", treatmentRecordVO.getDoctor());
map.put("createBy", treatmentRecordVO.getCreateBy());
map.put("createTime", DateUtil.format(treatmentRecordVO.getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
map.put("status", treatmentRecordVO.getStatus() == 0 ? "未完成" : "已完成");
map.put("report_date", DateUtil.format(new Date(), "yyyy-MM-dd"));
if (StrUtil.isNotEmpty(treatmentRecordVO.getTenantName())) {
map.put("h_name", treatmentRecordVO.getTenantName());
}
if (CollectionUtil.isNotEmpty(pmsTreatmentRecords)) {
Map<String, List<PmsTreatmentVo.TreatmentRecord>> recordMap = pmsTreatmentRecords.stream().collect(Collectors.groupingBy(PmsTreatmentVo.TreatmentRecord::getQuestionCode));
map.put("Clinical_diagnosis", recordMap.get("JBXX_ZYZD") == null ? "" : StrUtil.split(recordMap.get("JBXX_ZYZD").get(0).getAnswerString(), UserConstants.ANSWER_JOIN_STRING).stream().collect(Collectors.joining(", ")));
String txlx = recordMap.get("PG_RTCF_TXLX") == null ? "" : recordMap.get("PG_RTCF_TXLX").get(0).getAnswerString();
if (StrUtil.isEmpty(txlx)) {
map.put("rtcf_flag", false);
} else {
map.put("rtcf_flag", true);
}
map.put("PG_RTCF_TXLX", txlx);
map.put("PG_RTCF_STNL", recordMap.get("PG_RTCF_STNL") == null ? "" : recordMap.get("PG_RTCF_STNL").get(0).getAnswer());
map.put("PG_RTCF_JKPF", recordMap.get("PG_RTCF_JKPF") == null ? "" : recordMap.get("PG_RTCF_JKPF").get(0).getAnswer());
map.put("PG_RTCF_TZ", recordMap.get("PG_RTCF_TZ") == null ? "" : recordMap.get("PG_RTCF_TZ").get(0).getAnswer());
map.put("PG_RTCF_QZTZ", recordMap.get("PG_RTCF_QZTZ") == null ? "" : recordMap.get("PG_RTCF_QZTZ").get(0).getAnswer());
map.put("PG_RTCF_JRL", recordMap.get("PG_RTCF_JRL") == null ? "" : recordMap.get("PG_RTCF_JRL").get(0).getAnswer());
map.put("PG_RTCF_TBW", recordMap.get("PG_RTCF_TBW") == null ? "" : recordMap.get("PG_RTCF_TBW").get(0).getAnswer());
map.put("PG_RTCF_DBZ", recordMap.get("PG_RTCF_DBZ") == null ? "" : recordMap.get("PG_RTCF_DBZ").get(0).getAnswer());
map.put("PG_RTCF_GZ", recordMap.get("PG_RTCF_GZ") == null ? "" : recordMap.get("PG_RTCF_GZ").get(0).getAnswer());
map.put("PG_RTCF_GGJ", recordMap.get("PG_RTCF_GGJ") == null ? "" : recordMap.get("PG_RTCF_GGJ").get(0).getAnswer());
map.put("PG_RTCF_ZF", recordMap.get("PG_RTCF_ZF") == null ? "" : recordMap.get("PG_RTCF_ZF").get(0).getAnswer());
map.put("PG_RTCF_WHR", recordMap.get("PG_RTCF_WHR") == null ? "" : recordMap.get("PG_RTCF_WHR").get(0).getAnswer());
map.put("PG_RTCF_BMI", recordMap.get("PG_RTCF_BMI") == null ? "" : recordMap.get("PG_RTCF_BMI").get(0).getAnswer());
map.put("PG_RTCF_PBF", recordMap.get("PG_RTCF_PBF") == null ? "" : recordMap.get("PG_RTCF_PBF").get(0).getAnswer());
map.put("PG_RTCF_NZZFSP", recordMap.get("PG_RTCF_NZZFSP") == null ? "" : recordMap.get("PG_RTCF_NZZFSP").get(0).getAnswer());
String tzbs = recordMap.get("PG_TZBS_ZYTZ") == null ? "" : recordMap.get("PG_TZBS_ZYTZ").get(0).getAnswerString();
if (StrUtil.isEmpty(tzbs)) {
map.put("bsjg_flag", false);
} else {
map.put("bsjg_flag", true);
}
map.put("PG_TZBS_ZYTZ", tzbs);
map.put("PG_TZBS_JJTZ", recordMap.get("PG_TZBS_JJTZ") == null ? "" : StrUtil.split(recordMap.get("PG_TZBS_JJTZ").get(0).getAnswerString(), UserConstants.ANSWER_JOIN_STRING).stream().collect(Collectors.joining(",")));
String score1 = recordMap.get("PG_TT_TAPS_DF") == null ? "" : recordMap.get("PG_TT_TAPS_DF").get(0).getAnswerString();
String score2 = recordMap.get("PG_TT_TRACE_DF") == null ? "" : recordMap.get("PG_TT_TRACE_DF").get(0).getAnswerString();
String score3 = recordMap.get("PG_TT_SRS22_DF") == null ? "" : recordMap.get("PG_TT_SRS22_DF").get(0).getAnswerString();
if (StrUtil.isEmpty(score1) && StrUtil.isEmpty(score2) && StrUtil.isEmpty(score3)) {
map.put("ttpg_flag", false);
} else {
map.put("ttpg_flag", true);
}
map.put("score1", score1);
map.put("score2", score2);
map.put("score3", score3);
String score4 = recordMap.get("PG_SM_PHQ-9_DF") == null ? "" : recordMap.get("PG_SM_PHQ-9_DF").get(0).getAnswerString();
String score5 = recordMap.get("PG_SM_EPSW_DF") == null ? "" : recordMap.get("PG_SM_EPSW_DF").get(0).getAnswerString();
String score6 = recordMap.get("PG_SM_PSQI_DF") == null ? "" : recordMap.get("PG_SM_PSQI_DF").get(0).getAnswerString();
if (StrUtil.isEmpty(score4) && StrUtil.isEmpty(score5) && StrUtil.isEmpty(score6)) {
map.put("smpg_flag", false);
} else {
map.put("smpg_flag", true);
}
map.put("table0", Tables.of(new String[][]{
new String[]{"00", "01"},
new String[]{"10", "11"}
}).border(BorderStyle.DEFAULT).create());
map.put("score4", score4);
map.put("score5", score5);
map.put("score6", score6);
String score7 = recordMap.get("PG_JL_HAMD-24_DF") == null ? "" : recordMap.get("PG_JL_HAMD-24_DF").get(0).getAnswerString();
String score8 = recordMap.get("PG_JL_SAS_DF") == null ? "" : recordMap.get("PG_JL_SAS_DF").get(0).getAnswerString();
if (StrUtil.isEmpty(score7) && StrUtil.isEmpty(score8)) {
map.put("jlpg_flag", false);
} else {
map.put("jlpg_flag", true);
}
map.put("score7", score7);
map.put("score8", score8);
}
//渲染
template.render(map);
//以文件形式输出
template.writeAndClose(Files.newOutputStream(Paths.get(wordPath)));
//转换为pdf
AsposeUtils.doc2pdf(wordPath, pdfPath);
//删除word
FileUtil.del(wordPath);
fileList.add(new File(pdfPath));
} catch (Exception e) {
e.printStackTrace();
}
}
OutputStream outputStream = Files.newOutputStream(new File("/home/acupuncture/server/profile/upload/" + title + ".zip").toPath());
ZipUtils.toZip(fileList, outputStream);
return "/profile/upload/" + title + ".zip";
}
@Override
public void importTreatment(MultipartFile file) throws IOException {
//读取excel
@ -761,6 +962,93 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
});
}
@Override
public void importTreatmentAdmin(MultipartFile file, Long tenantId) throws IOException {
//读取excel
List<PmsPatient> pmsPatientList = CollectionUtil.newArrayList();
ExcelUtil.readBySax(file.getInputStream(), 0, (sheetIndex, rowIndex, rowList) -> {
//中铝新材料有限公司电解厂2024年度职工健康体检统计表(非高温)
//序号 姓名 性别 出生日期 身份证号 婚姻状况 联系电话 部门 工号 工种 民族 国籍 防护措施 总工龄(年) 总工龄(月) 接害工龄(年) 接害工龄(月) 体检类别
try {
if (rowIndex < 1) {
return;
}
PmsPatient patient = new PmsPatient();
patient.setName(rowList.get(1).toString());
patient.setGender(rowList.get(2).toString().trim().equals("男") ? (byte) 0 : (byte) 1);
patient.setPinyinFull(PinyinUtil.getPinyin(patient.getName(), ""));
patient.setPinyinSimple(PinyinUtil.getFirstLetter(patient.getName(), ""));
patient.setBirthDate(DateUtil.parse(rowList.get(3).toString()));
patient.setEthnicity(rowList.get(4).toString());
patient.setEducationYears(Integer.parseInt(rowList.get(5).toString()));
patient.setPhone(rowList.get(6).toString());
patient.setIdCardType(Byte.valueOf( rowList.get(7).toString()));
patient.setIdCard(rowList.get(8).toString());
patient.setTenantId(tenantId);
patient.setSource(rowList.get(9).toString().trim().equals("筛查") ? (byte) 0 : rowList.get(9).toString().trim().equals("录入") ? (byte) 1 : (byte) 2);
patient.setCurrentIllnessHistory(rowList.get(10).toString());
patient.setCreateBy(SecurityUtils.getUsername());
patient.setId(IdUtil.getSnowflakeNextId());
// patient.setTenantId(SecurityUtils.getTenantId());
patient.setDelFlag((byte) 0);
patient.setCreateTime(new Date());
pmsPatientList.add(patient);
} catch (Exception e) {
e.printStackTrace();
throw new BaseException(StrUtil.format("导入患者信息错误:sheet:{},row:{}, {}",
sheetIndex + 1, rowIndex + 1, ExceptionUtil.getExceptionMessage(e)));
}
});
if (CollectionUtil.isNotEmpty(pmsPatientList)) {
//批量插入
batchSavePatient(pmsPatientList);
}
}
public Integer batchSavePatient(List<PmsPatient> list) {
int max = 2000;
for (int start = 0; start < list.size(); start += max) {
pmsPatientDao.batchInsert(list.subList(start,
start + (Math.min(list.size() - start, max)))
);
}
return list.size();
}
@Override
public String[] getTenantId(MultipartFile file) throws IOException {
AtomicReference<DmsTenant> tenantId = new AtomicReference<>(new DmsTenant());
//读取excel
List<PmsPatient> pmsPatientList = CollectionUtil.newArrayList();
ExcelUtil.readBySax(file.getInputStream(), 0, (sheetIndex, rowIndex, rowList) -> {
// 建档时间 患者姓名 性别 年龄 民族 受教育程度 手机号码 证件类型(0身份证;1护照或外国人永居证; 2港澳居民来往内地通行; 3台湾居民来往大陆通行证; 4其他;) 证件号码 门诊/住院 门诊号/住院号 门诊时间/住院时间 出院时间 责任医生 建档人
try {
if (rowIndex < 1) {
return;
}
String s = rowList.get(13).toString();
DmsTenantExample dmsTenantExample = new DmsTenantExample();
dmsTenantExample.createCriteria().andDelFlagEqualTo((byte) 0).andNameEqualTo(s);
List<DmsTenant> dmsTenants = dmsTenantMapper.selectByExample(dmsTenantExample);
if (CollectionUtil.isNotEmpty(dmsTenants)) {
tenantId.set(dmsTenants.get(0));
return;
}
return;
} catch (Exception e) {
e.printStackTrace();
throw new BaseException(StrUtil.format("导入诊疗信息错误:sheet:{},row:{}, {}", sheetIndex + 1, rowIndex + 1, ExceptionUtil.getExceptionMessage(e)));
}
});
UmsDataSource umsDataSource = umsDataSourceMapper.selectByPrimaryKey(tenantId.get().getDataSourceId());
if (umsDataSource != null ) {
return new String[]{umsDataSource.getDataSourceKey(), tenantId.get().getId() + ""};
}
return null;
}
@Override
public List<PmsTreatmentVo.TreatmentVO> adminListTreatment(PmsTreatmentDto.TreatmentQueryDTO queryDTO) {
List<PmsTreatmentVo.TreatmentVO> query = pmsTreatmentDao.adminQuery(queryDTO);
@ -768,9 +1056,9 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
//查询公共队列
List<Object> commonFollowupQueue = redisCache.getCacheList("common_followup_queue");
for (PmsTreatmentVo.TreatmentVO treatmentVO : query) {
PmsTreatmentRecordExample pmsTreatmentRecordExample = new PmsTreatmentRecordExample();
pmsTreatmentRecordExample.createCriteria().andDelFlagEqualTo((byte) 0).andQuestionCodeEqualTo("JBXX_ZYZD").andTreatmentIdEqualTo(treatmentVO.getId());
List<PmsTreatmentRecord> pmsTreatmentRecords = pmsTreatmentRecordMapper.selectByExample(pmsTreatmentRecordExample);
// PmsTreatmentRecordExample pmsTreatmentRecordExample = new PmsTreatmentRecordExample();
// pmsTreatmentRecordExample.createCriteria().andDelFlagEqualTo((byte) 0).andQuestionCodeEqualTo("JBXX_ZYZD").andTreatmentIdEqualTo(treatmentVO.getId());
// List<PmsTreatmentRecord> pmsTreatmentRecords = pmsTreatmentRecordMapper.selectByExample(pmsTreatmentRecordExample);
List<PmsTreatmentVo.TreatmentRecord> treatmentRecords = pmsTreatmentDao.adminSelectRecord(treatmentVO.getId(), CollectionUtil.newArrayList("JBXX_ZYZD"));
if (CollectionUtil.isNotEmpty(treatmentRecords)) {
List<String> answer = treatmentRecords.get(0).getAnswer();
@ -868,4 +1156,12 @@ public class PmsTreatmentServiceImpl implements PmsTreatmentService {
IoUtil.close(out);
}
}
@Override
public void aduit(Long treatmentId, Byte status) {
PmsTreatment pmsTreatment = treatmentMapper.selectByPrimaryKey(treatmentId);
if (pmsTreatment != null) {
pmsTreatment.setStatus(status);
}
}
}

137
acupuncture-system/src/main/java/com/acupuncture/system/service/impl/SysNoticeServiceImpl.java

@ -1,11 +1,25 @@
package com.acupuncture.system.service.impl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import com.acupuncture.common.utils.SecurityUtils;
import com.acupuncture.system.domain.po.SysNoticeUser;
import com.acupuncture.system.domain.po.SysNoticeUserExample;
import com.acupuncture.system.persist.mapper.SysNoticeUserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.acupuncture.system.domain.SysNotice;
import com.acupuncture.system.mapper.SysNoticeMapper;
import com.acupuncture.system.service.ISysNoticeService;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
/**
* 公告 服务层实现
@ -13,10 +27,12 @@ import com.acupuncture.system.service.ISysNoticeService;
* @author acupuncture
*/
@Service
public class SysNoticeServiceImpl implements ISysNoticeService
{
@Transactional
public class SysNoticeServiceImpl implements ISysNoticeService {
@Autowired
private SysNoticeMapper noticeMapper;
@Resource
private SysNoticeUserMapper sysNoticeUserMapper;
/**
* 查询公告信息
@ -25,9 +41,17 @@ public class SysNoticeServiceImpl implements ISysNoticeService
* @return 公告信息
*/
@Override
public SysNotice selectNoticeById(Long noticeId)
{
return noticeMapper.selectNoticeById(noticeId);
public SysNotice selectNoticeById(Long noticeId) {
SysNotice sysNotice = noticeMapper.selectNoticeById(noticeId);
if (sysNotice != null) {
SysNoticeUserExample sysNoticeUserExample = new SysNoticeUserExample();
sysNoticeUserExample.createCriteria().andNoticeIdEqualTo(sysNotice.getNoticeId());
List<SysNoticeUser> sysNoticeUsers = sysNoticeUserMapper.selectByExample(sysNoticeUserExample);
if (CollUtil.isNotEmpty(sysNoticeUsers)) {
sysNotice.setUserIdList(sysNoticeUsers.stream().map(SysNoticeUser::getUserId).collect(Collectors.toList()));
}
}
return sysNotice;
}
/**
@ -37,9 +61,29 @@ public class SysNoticeServiceImpl implements ISysNoticeService
* @return 公告集合
*/
@Override
public List<SysNotice> selectNoticeList(SysNotice notice)
{
return noticeMapper.selectNoticeList(notice);
public List<SysNotice> selectNoticeList(SysNotice notice) {
if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())) {
SysNoticeUserExample sysNoticeUserExample = new SysNoticeUserExample();
sysNoticeUserExample.createCriteria().andUserIdEqualTo(SecurityUtils.getUserId());
List<SysNoticeUser> sysNoticeUsers = sysNoticeUserMapper.selectByExample(sysNoticeUserExample);
List<Long> noticeIdList = new ArrayList<>();
if (CollUtil.isNotEmpty(sysNoticeUsers)) {
noticeIdList = sysNoticeUsers.stream().map(sysNoticeUser -> sysNoticeUser.getNoticeId()).collect(Collectors.toList());
}
notice.setNoticeIdList(noticeIdList);
}
List<SysNotice> sysNotices = noticeMapper.selectNoticeList(notice, SecurityUtils.getUserId());
if (CollUtil.isNotEmpty(sysNotices)) {
for (SysNotice sysNotice : sysNotices) {
SysNoticeUserExample sysNoticeUserExample1 = new SysNoticeUserExample();
sysNoticeUserExample1.createCriteria().andNoticeIdEqualTo(sysNotice.getNoticeId());
List<SysNoticeUser> sysNoticeUsers1 = sysNoticeUserMapper.selectByExample(sysNoticeUserExample1);
if (CollUtil.isNotEmpty(sysNoticeUsers1)) {
sysNotice.setUserIdList(sysNoticeUsers1.stream().map(SysNoticeUser::getUserId).collect(Collectors.toList()));
}
}
}
return sysNotices;
}
/**
@ -49,9 +93,26 @@ public class SysNoticeServiceImpl implements ISysNoticeService
* @return 结果
*/
@Override
public int insertNotice(SysNotice notice)
{
return noticeMapper.insertNotice(notice);
public int insertNotice(SysNotice notice) {
if (CollUtil.isNotEmpty(notice.getUserIdList())) {
notice.setIsAll((byte) 0);
} else {
notice.setIsAll((byte) 1);
}
int i = noticeMapper.insertNotice(notice);
if (CollUtil.isNotEmpty(notice.getUserIdList())) {
for (Long userId : notice.getUserIdList()) {
SysNoticeUser sysNoticeUser = new SysNoticeUser();
sysNoticeUser.setId(IdUtil.getSnowflakeNextId());
sysNoticeUser.setNoticeId(notice.getNoticeId());
sysNoticeUser.setUserId(userId);
sysNoticeUser.setCreateBy(SecurityUtils.getUsername());
sysNoticeUser.setCreateTime(new Date());
//新增通知用户关联关系
sysNoticeUserMapper.insertSelective(sysNoticeUser);
}
}
return i;
}
/**
@ -61,9 +122,35 @@ public class SysNoticeServiceImpl implements ISysNoticeService
* @return 结果
*/
@Override
public int updateNotice(SysNotice notice)
{
return noticeMapper.updateNotice(notice);
public int updateNotice(SysNotice notice) {
if (CollUtil.isNotEmpty(notice.getUserIdList())) {
notice.setIsAll((byte) 0);
} else {
notice.setIsAll((byte) 1);
}
int i = noticeMapper.updateNotice(notice);
SysNoticeUserExample sysNoticeUserExample = new SysNoticeUserExample();
sysNoticeUserExample.createCriteria().andNoticeIdEqualTo(notice.getNoticeId());
List<SysNoticeUser> sysNoticeUsers = sysNoticeUserMapper.selectByExample(sysNoticeUserExample);
if (CollUtil.isNotEmpty(sysNoticeUsers)) {
for (SysNoticeUser sysNoticeUser : sysNoticeUsers) {
sysNoticeUserMapper.deleteByPrimaryKey(sysNoticeUser.getId());
}
}
if (CollUtil.isNotEmpty(notice.getUserIdList())) {
for (Long userId : notice.getUserIdList()) {
SysNoticeUser sysNoticeUser = new SysNoticeUser();
sysNoticeUser.setId(IdUtil.getSnowflakeNextId());
sysNoticeUser.setNoticeId(notice.getNoticeId());
sysNoticeUser.setUserId(userId);
sysNoticeUser.setCreateBy(SecurityUtils.getUsername());
sysNoticeUser.setCreateTime(new Date());
//新增通知用户关联关系
sysNoticeUserMapper.insertSelective(sysNoticeUser);
}
}
return i;
}
/**
@ -73,8 +160,15 @@ public class SysNoticeServiceImpl implements ISysNoticeService
* @return 结果
*/
@Override
public int deleteNoticeById(Long noticeId)
{
public int deleteNoticeById(Long noticeId) {
SysNoticeUserExample sysNoticeUserExample = new SysNoticeUserExample();
sysNoticeUserExample.createCriteria().andNoticeIdEqualTo(noticeId);
List<SysNoticeUser> sysNoticeUsers = sysNoticeUserMapper.selectByExample(sysNoticeUserExample);
if (CollUtil.isNotEmpty(sysNoticeUsers)) {
for (SysNoticeUser sysNoticeUser : sysNoticeUsers) {
sysNoticeUserMapper.deleteByPrimaryKey(sysNoticeUser.getId());
}
}
return noticeMapper.deleteNoticeById(noticeId);
}
@ -85,8 +179,15 @@ public class SysNoticeServiceImpl implements ISysNoticeService
* @return 结果
*/
@Override
public int deleteNoticeByIds(Long[] noticeIds)
{
public int deleteNoticeByIds(Long[] noticeIds) {
SysNoticeUserExample sysNoticeUserExample = new SysNoticeUserExample();
sysNoticeUserExample.createCriteria().andNoticeIdIn(Arrays.asList(noticeIds));
List<SysNoticeUser> sysNoticeUsers = sysNoticeUserMapper.selectByExample(sysNoticeUserExample);
if (CollUtil.isNotEmpty(sysNoticeUsers)) {
for (SysNoticeUser sysNoticeUser : sysNoticeUsers) {
sysNoticeUserMapper.deleteByPrimaryKey(sysNoticeUser.getId());
}
}
return noticeMapper.deleteNoticeByIds(noticeIds);
}
}

1
acupuncture-system/src/main/java/com/acupuncture/system/service/impl/SysUserOnlineServiceImpl.java

@ -87,6 +87,7 @@ public class SysUserOnlineServiceImpl implements ISysUserOnlineService
sysUserOnline.setBrowser(user.getBrowser());
sysUserOnline.setOs(user.getOs());
sysUserOnline.setLoginTime(user.getLoginTime());
sysUserOnline.setLastVisitTime(user.getUser().getLoginDate());
if (StringUtils.isNotNull(user.getUser().getDept()))
{
sysUserOnline.setDeptName(user.getUser().getDept().getDeptName());

31
acupuncture-system/src/main/resources/mapper/dao/AdminRmsReportDao.xml

@ -7,7 +7,9 @@
id,
type_name as typeName,
create_by as createBy,
create_time as createTime
create_time as createTime,
remark,
file
from rms_report_type
where del_flag = 0
<if test="typeName != null and typeName != ''">
@ -36,4 +38,31 @@
</if>
order by m.create_time desc
</select>
<select id="queryManagerListMy" resultType="com.acupuncture.system.domain.vo.AdminReportVo$Result">
select
m.id,
m.report_title as reportTitle,
m.report_type as reportType,
m.time_range_start as timeRangeStart,
m.time_range_end as timeRangeEnd,
m.status,
m.create_by as createBy,
m.create_time as createTime,
t.type_name as typeName
from rms_report_management m
left join
rms_report_type t on m.report_type = t.id
where m.del_flag = 0
and m.status = 1
<if test="reportTitle != null and reportTitle != ''">
and m.report_title like concat('%', #{reportTitle}, '%')
</if>
<if test="idList != null and idList.size() > 0">
<foreach item="item" collection="idList" separator="," open="and m.id in (" close=")">
#{item}
</foreach>
</if>
order by m.create_time desc
</select>
</mapper>

4
acupuncture-system/src/main/resources/mapper/dao/DmsUserDao.xml

@ -74,6 +74,7 @@
<if test="status != null and status != ''">status = #{status},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="forceUpdPwdFlag != null">force_upd_pwd_flag = #{forceUpdPwdFlag},</if>
update_time = sysdate()
</set>
where id = #{id}
@ -97,7 +98,8 @@
u.sex as sex,
t.`name` as tenantName,
t.contact_phone as tenantPhone,
u.slaver_admin as slaverAdmin
u.slaver_admin as slaverAdmin,
u.force_upd_pwd_flag as forceUpdPwdFlag
from
dms_user u join dms_tenant t on u.tenant_id = t.id
WHERE

128
acupuncture-system/src/main/resources/mapper/dao/PmsTreatmentDao.xml

@ -5,41 +5,42 @@
<select id="query" resultType="com.acupuncture.system.domain.vo.PmsTreatmentVo$TreatmentVO"
parameterType="com.acupuncture.system.domain.dto.PmsTreatmentDto$TreatmentQueryDTO">
select
id,
patient_id as patientId,
name,
gender,
age,
birth_date as birthDate,
ethnicity,
education_years as educationYears,
phone,
id_card_type as idCardType,
id_card as idCard,
visit_type as visitType,
visit_number as visitNumber,
visit_time as visitTime,
discharge_time as dischargeTime,
doctor,
dept_name as deptName,
diagnosis_code as diagnosisCode,
diagnosis_name as diagnosisName,
status,
member_id as memberId,
create_by as createBy,
create_time as createTime
from pms_treatment
where del_flag = 0
t.id,
t.patient_id as patientId,
t.name,
t.gender,
t.age,
t.birth_date as birthDate,
t.ethnicity,
t.education_years as educationYears,
t.phone,
t.id_card_type as idCardType,
t.id_card as idCard,
t.visit_type as visitType,
t.visit_number as visitNumber,
t.visit_time as visitTime,
t.discharge_time as dischargeTime,
t.doctor,
t.dept_name as deptName,
t.diagnosis_code as diagnosisCode,
t.diagnosis_name as diagnosisName,
t.status,
t.member_id as memberId,
t.create_by as createBy,
t.create_time as createTime,
t.management_id as managementId
from pms_treatment t
where t.del_flag = 0
<if test="tenantId != null">
AND tenant_id = #{tenantId}
AND t.tenant_id = #{tenantId}
</if>
<if test="query.keywords != null and query.keywords != ''">
AND (
name LIKE CONCAT('%', #{query.keywords}, '%')
OR pinyin_full LIKE CONCAT('%', #{query.keywords}, '%')
OR pinyin_simple LIKE CONCAT('%', #{query.keywords}, '%')
OR phone LIKE CONCAT('%', #{query.keywords}, '%')
or id_card LIKE CONCAT('%', #{query.keywords}, '%')
t.name LIKE CONCAT('%', #{query.keywords}, '%')
OR t.pinyin_full LIKE CONCAT('%', #{query.keywords}, '%')
OR t.pinyin_simple LIKE CONCAT('%', #{query.keywords}, '%')
OR t.phone LIKE CONCAT('%', #{query.keywords}, '%')
or t.id_card LIKE CONCAT('%', #{query.keywords}, '%')
)
</if>
<if test="query.patientId != null">
@ -67,9 +68,21 @@
AND doctor = #{query.doctor}
</if>
<if test="query.name != null and query.name != ''">
AND name = #{query.name}
AND t.name = #{query.name}
</if>
<if test="query.managementIdList != null and query.managementIdList.size() > 0 ">
and management_id in
<foreach collection="query.managementIdList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="query.startTime != null and query.startTime != ''">
and visit_time &gt;= #{query.startTime}
</if>
<if test="query.endTime != null and query.endTime != ''">
and visit_time &lt;= #{query.endTime}
</if>
order by update_time desc
order by t.update_time desc
</select>
<select id="adminQuery" resultType="com.acupuncture.system.domain.vo.PmsTreatmentVo$TreatmentVO"
@ -98,10 +111,14 @@
t.tenant_id as tenantId,
t.create_by as createBy,
t.create_time as createTime,
d.name as tenantName
d.name as tenantName,
t.management_id as managementId,
m.report_title as reportTitle
from v_pms_treatment t
left join
dms_tenant d on t.tenant_id = d.id
left join
rms_report_management m on m.id = t.management_id
where t.del_flag = 0
and t.status = 2
<if test="query.tenantId != null">
@ -143,6 +160,15 @@
<if test="query.name != null and query.name != ''">
AND t.name = #{query.name}
</if>
<if test="query.managementId != null">
and t.management_id = #{query.managementId}
</if>
<if test="query.startTime != null and query.startTime != ''">
and t.visit_time &gt;= #{query.startTime}
</if>
<if test="query.endTime != null and query.endTime != ''">
and t.visit_time &lt;= #{query.endTime}
</if>
order by t.create_time desc
</select>
@ -179,6 +205,40 @@
and t.id = #{id}
</select>
<select id="adminQueryTreatmentZip" resultType="com.acupuncture.system.domain.vo.PmsTreatmentVo$TreatmentRecordVO">
select
t.id,
t.patient_id as patientId,
t.name,
t.gender,
t.age,
t.birth_date as birthDate,
t.ethnicity,
t.education_years as educationYears,
t.phone,
t.id_card_type as idCardType,
t.id_card as idCard,
t.visit_type as visitType,
t.visit_number as visitNumber,
t.visit_time as visitTime,
t.discharge_time as dischargeTime,
t.doctor,
t.dept_name as deptName,
t.diagnosis_code as diagnosisCode,
t.diagnosis_name as diagnosisName,
t.status,
t.create_by as createBy,
t.create_time as createTime,
d.name as tenantName
from
v_pms_treatment t
left join
dms_tenant d on t.tenant_id = d.id
where t.del_flag = 0
and t.status = 2
and t.management_id = #{managementId}
</select>
<insert id="batchInsertRecord">
insert into pms_treatment_record
(

25
acupuncture-system/src/main/resources/mapper/system/DmsUserMapper.xml

@ -18,6 +18,7 @@
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
<result column="force_upd_pwd_flag" jdbcType="TINYINT" property="forceUpdPwdFlag" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
@ -79,7 +80,7 @@
</sql>
<sql id="Base_Column_List">
id, tenant_id, user_name, password, nick_name, email, phonenumber, sex, slaver_admin,
status, del_flag, create_by, create_time, update_by, update_time, remark
status, del_flag, create_by, create_time, update_by, update_time, remark, force_upd_pwd_flag
</sql>
<select id="selectByExample" parameterType="com.acupuncture.system.domain.po.DmsUserExample" resultMap="BaseResultMap">
select
@ -111,13 +112,13 @@
phonenumber, sex, slaver_admin,
status, del_flag, create_by,
create_time, update_by, update_time,
remark)
remark, force_upd_pwd_flag)
values (#{id,jdbcType=BIGINT}, #{tenantId,jdbcType=BIGINT}, #{userName,jdbcType=VARCHAR},
#{password,jdbcType=VARCHAR}, #{nickName,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR},
#{phonenumber,jdbcType=VARCHAR}, #{sex,jdbcType=CHAR}, #{slaverAdmin,jdbcType=TINYINT},
#{status,jdbcType=CHAR}, #{delFlag,jdbcType=TINYINT}, #{createBy,jdbcType=VARCHAR},
#{createTime,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
#{remark,jdbcType=VARCHAR})
#{remark,jdbcType=VARCHAR}, #{forceUpdPwdFlag,jdbcType=TINYINT})
</insert>
<insert id="insertSelective" parameterType="com.acupuncture.system.domain.po.DmsUser">
insert into dms_user
@ -170,6 +171,9 @@
<if test="remark != null">
remark,
</if>
<if test="forceUpdPwdFlag != null">
force_upd_pwd_flag,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@ -220,6 +224,9 @@
<if test="remark != null">
#{remark,jdbcType=VARCHAR},
</if>
<if test="forceUpdPwdFlag != null">
#{forceUpdPwdFlag,jdbcType=TINYINT},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.acupuncture.system.domain.po.DmsUserExample" resultType="java.lang.Long">
@ -279,6 +286,9 @@
<if test="record.remark != null">
remark = #{record.remark,jdbcType=VARCHAR},
</if>
<if test="record.forceUpdPwdFlag != null">
force_upd_pwd_flag = #{record.forceUpdPwdFlag,jdbcType=TINYINT},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
@ -301,7 +311,8 @@
create_time = #{record.createTime,jdbcType=TIMESTAMP},
update_by = #{record.updateBy,jdbcType=VARCHAR},
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
remark = #{record.remark,jdbcType=VARCHAR}
remark = #{record.remark,jdbcType=VARCHAR},
force_upd_pwd_flag = #{record.forceUpdPwdFlag,jdbcType=TINYINT}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
@ -354,6 +365,9 @@
<if test="remark != null">
remark = #{remark,jdbcType=VARCHAR},
</if>
<if test="forceUpdPwdFlag != null">
force_upd_pwd_flag = #{forceUpdPwdFlag,jdbcType=TINYINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
@ -373,7 +387,8 @@
create_time = #{createTime,jdbcType=TIMESTAMP},
update_by = #{updateBy,jdbcType=VARCHAR},
update_time = #{updateTime,jdbcType=TIMESTAMP},
remark = #{remark,jdbcType=VARCHAR}
remark = #{remark,jdbcType=VARCHAR},
force_upd_pwd_flag = #{forceUpdPwdFlag,jdbcType=TINYINT}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

29
acupuncture-system/src/main/resources/mapper/system/PmsTreatmentMapper.xml

@ -32,6 +32,7 @@
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
<result column="management_id" jdbcType="BIGINT" property="managementId" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
@ -95,7 +96,7 @@
id, patient_id, name, pinyin_full, pinyin_simple, gender, age, birth_date, ethnicity,
education_years, phone, id_card_type, id_card, visit_type, visit_number, visit_time,
discharge_time, doctor, dept_name, diagnosis_code, diagnosis_name, status, member_id,
del_flag, tenant_id, create_by, create_time, update_by, update_time, remark
del_flag, tenant_id, create_by, create_time, update_by, update_time, remark, management_id
</sql>
<select id="selectByExample" parameterType="com.acupuncture.system.domain.po.PmsTreatmentExample" resultMap="BaseResultMap">
select
@ -131,8 +132,8 @@
dept_name, diagnosis_code, diagnosis_name,
status, member_id, del_flag,
tenant_id, create_by, create_time,
update_by, update_time, remark
)
update_by, update_time, remark,
management_id)
values (#{id,jdbcType=BIGINT}, #{patientId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR},
#{pinyinFull,jdbcType=VARCHAR}, #{pinyinSimple,jdbcType=VARCHAR}, #{gender,jdbcType=TINYINT},
#{age,jdbcType=INTEGER}, #{birthDate,jdbcType=DATE}, #{ethnicity,jdbcType=VARCHAR},
@ -142,8 +143,8 @@
#{deptName,jdbcType=VARCHAR}, #{diagnosisCode,jdbcType=VARCHAR}, #{diagnosisName,jdbcType=VARCHAR},
#{status,jdbcType=TINYINT}, #{memberId,jdbcType=BIGINT}, #{delFlag,jdbcType=TINYINT},
#{tenantId,jdbcType=BIGINT}, #{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP},
#{updateBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{remark,jdbcType=VARCHAR}
)
#{updateBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{remark,jdbcType=VARCHAR},
#{managementId,jdbcType=BIGINT})
</insert>
<insert id="insertSelective" parameterType="com.acupuncture.system.domain.po.PmsTreatment">
insert into pms_treatment
@ -238,6 +239,9 @@
<if test="remark != null">
remark,
</if>
<if test="managementId != null">
management_id,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@ -330,6 +334,9 @@
<if test="remark != null">
#{remark,jdbcType=VARCHAR},
</if>
<if test="managementId != null">
#{managementId,jdbcType=BIGINT},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.acupuncture.system.domain.po.PmsTreatmentExample" resultType="java.lang.Long">
@ -431,6 +438,9 @@
<if test="record.remark != null">
remark = #{record.remark,jdbcType=VARCHAR},
</if>
<if test="record.managementId != null">
management_id = #{record.managementId,jdbcType=BIGINT},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
@ -467,7 +477,8 @@
create_time = #{record.createTime,jdbcType=TIMESTAMP},
update_by = #{record.updateBy,jdbcType=VARCHAR},
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
remark = #{record.remark,jdbcType=VARCHAR}
remark = #{record.remark,jdbcType=VARCHAR},
management_id = #{record.managementId,jdbcType=BIGINT}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
@ -562,6 +573,9 @@
<if test="remark != null">
remark = #{remark,jdbcType=VARCHAR},
</if>
<if test="managementId != null">
management_id = #{managementId,jdbcType=BIGINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
@ -595,7 +609,8 @@
create_time = #{createTime,jdbcType=TIMESTAMP},
update_by = #{updateBy,jdbcType=VARCHAR},
update_time = #{updateTime,jdbcType=TIMESTAMP},
remark = #{remark,jdbcType=VARCHAR}
remark = #{remark,jdbcType=VARCHAR},
management_id = #{managementId,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

252
acupuncture-system/src/main/resources/mapper/system/RmsReportManagementTenantMapper.xml

@ -0,0 +1,252 @@
<?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.acupuncture.system.persist.mapper.RmsReportManagementTenantMapper">
<resultMap id="BaseResultMap" type="com.acupuncture.system.domain.po.RmsReportManagementTenant">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="report_id" jdbcType="BIGINT" property="reportId" />
<result column="tenant_id" jdbcType="BIGINT" property="tenantId" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, report_id, tenant_id, create_by, create_time, update_by, update_time, remark
</sql>
<select id="selectByExample" parameterType="com.acupuncture.system.domain.po.RmsReportManagementTenantExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from rms_report_management_tenant
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from rms_report_management_tenant
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from rms_report_management_tenant
where id = #{id,jdbcType=BIGINT}
</delete>
<insert id="insert" parameterType="com.acupuncture.system.domain.po.RmsReportManagementTenant">
insert into rms_report_management_tenant (id, report_id, tenant_id,
create_by, create_time, update_by,
update_time, remark)
values (#{id,jdbcType=BIGINT}, #{reportId,jdbcType=BIGINT}, #{tenantId,jdbcType=BIGINT},
#{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR},
#{updateTime,jdbcType=TIMESTAMP}, #{remark,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.acupuncture.system.domain.po.RmsReportManagementTenant">
insert into rms_report_management_tenant
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="reportId != null">
report_id,
</if>
<if test="tenantId != null">
tenant_id,
</if>
<if test="createBy != null">
create_by,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateBy != null">
update_by,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="remark != null">
remark,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=BIGINT},
</if>
<if test="reportId != null">
#{reportId,jdbcType=BIGINT},
</if>
<if test="tenantId != null">
#{tenantId,jdbcType=BIGINT},
</if>
<if test="createBy != null">
#{createBy,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateBy != null">
#{updateBy,jdbcType=VARCHAR},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="remark != null">
#{remark,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.acupuncture.system.domain.po.RmsReportManagementTenantExample" resultType="java.lang.Long">
select count(*) from rms_report_management_tenant
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update rms_report_management_tenant
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=BIGINT},
</if>
<if test="record.reportId != null">
report_id = #{record.reportId,jdbcType=BIGINT},
</if>
<if test="record.tenantId != null">
tenant_id = #{record.tenantId,jdbcType=BIGINT},
</if>
<if test="record.createBy != null">
create_by = #{record.createBy,jdbcType=VARCHAR},
</if>
<if test="record.createTime != null">
create_time = #{record.createTime,jdbcType=TIMESTAMP},
</if>
<if test="record.updateBy != null">
update_by = #{record.updateBy,jdbcType=VARCHAR},
</if>
<if test="record.updateTime != null">
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
</if>
<if test="record.remark != null">
remark = #{record.remark,jdbcType=VARCHAR},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update rms_report_management_tenant
set id = #{record.id,jdbcType=BIGINT},
report_id = #{record.reportId,jdbcType=BIGINT},
tenant_id = #{record.tenantId,jdbcType=BIGINT},
create_by = #{record.createBy,jdbcType=VARCHAR},
create_time = #{record.createTime,jdbcType=TIMESTAMP},
update_by = #{record.updateBy,jdbcType=VARCHAR},
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
remark = #{record.remark,jdbcType=VARCHAR}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.acupuncture.system.domain.po.RmsReportManagementTenant">
update rms_report_management_tenant
<set>
<if test="reportId != null">
report_id = #{reportId,jdbcType=BIGINT},
</if>
<if test="tenantId != null">
tenant_id = #{tenantId,jdbcType=BIGINT},
</if>
<if test="createBy != null">
create_by = #{createBy,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateBy != null">
update_by = #{updateBy,jdbcType=VARCHAR},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="remark != null">
remark = #{remark,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.acupuncture.system.domain.po.RmsReportManagementTenant">
update rms_report_management_tenant
set report_id = #{reportId,jdbcType=BIGINT},
tenant_id = #{tenantId,jdbcType=BIGINT},
create_by = #{createBy,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_by = #{updateBy,jdbcType=VARCHAR},
update_time = #{updateTime,jdbcType=TIMESTAMP},
remark = #{remark,jdbcType=VARCHAR}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

28
acupuncture-system/src/main/resources/mapper/system/RmsReportTypeMapper.xml

@ -10,6 +10,7 @@
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
<result column="file" jdbcType="VARCHAR" property="file" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
@ -70,7 +71,8 @@
</where>
</sql>
<sql id="Base_Column_List">
id, type_name, del_flag, create_by, create_time, update_by, update_time, remark
id, type_name, del_flag, create_by, create_time, update_by, update_time, remark,
file
</sql>
<select id="selectByExample" parameterType="com.acupuncture.system.domain.po.RmsReportTypeExample" resultMap="BaseResultMap">
select
@ -99,10 +101,12 @@
<insert id="insert" parameterType="com.acupuncture.system.domain.po.RmsReportType">
insert into rms_report_type (id, type_name, del_flag,
create_by, create_time, update_by,
update_time, remark)
update_time, remark, file
)
values (#{id,jdbcType=BIGINT}, #{typeName,jdbcType=VARCHAR}, #{delFlag,jdbcType=TINYINT},
#{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR},
#{updateTime,jdbcType=TIMESTAMP}, #{remark,jdbcType=VARCHAR})
#{updateTime,jdbcType=TIMESTAMP}, #{remark,jdbcType=VARCHAR}, #{file,jdbcType=VARCHAR}
)
</insert>
<insert id="insertSelective" parameterType="com.acupuncture.system.domain.po.RmsReportType">
insert into rms_report_type
@ -131,6 +135,9 @@
<if test="remark != null">
remark,
</if>
<if test="file != null">
file,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@ -157,6 +164,9 @@
<if test="remark != null">
#{remark,jdbcType=VARCHAR},
</if>
<if test="file != null">
#{file,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.acupuncture.system.domain.po.RmsReportTypeExample" resultType="java.lang.Long">
@ -192,6 +202,9 @@
<if test="record.remark != null">
remark = #{record.remark,jdbcType=VARCHAR},
</if>
<if test="record.file != null">
file = #{record.file,jdbcType=VARCHAR},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
@ -206,7 +219,8 @@
create_time = #{record.createTime,jdbcType=TIMESTAMP},
update_by = #{record.updateBy,jdbcType=VARCHAR},
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
remark = #{record.remark,jdbcType=VARCHAR}
remark = #{record.remark,jdbcType=VARCHAR},
file = #{record.file,jdbcType=VARCHAR}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
@ -235,6 +249,9 @@
<if test="remark != null">
remark = #{remark,jdbcType=VARCHAR},
</if>
<if test="file != null">
file = #{file,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
@ -246,7 +263,8 @@
create_time = #{createTime,jdbcType=TIMESTAMP},
update_by = #{updateBy,jdbcType=VARCHAR},
update_time = #{updateTime,jdbcType=TIMESTAMP},
remark = #{remark,jdbcType=VARCHAR}
remark = #{remark,jdbcType=VARCHAR},
file = #{file,jdbcType=VARCHAR}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

252
acupuncture-system/src/main/resources/mapper/system/RmsReportTypeTenantMapper.xml

@ -0,0 +1,252 @@
<?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.acupuncture.system.persist.mapper.RmsReportTypeTenantMapper">
<resultMap id="BaseResultMap" type="com.acupuncture.system.domain.po.RmsReportTypeTenant">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="report_type_id" jdbcType="BIGINT" property="reportTypeId" />
<result column="tenant_id" jdbcType="BIGINT" property="tenantId" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, report_type_id, tenant_id, create_by, create_time, update_by, update_time, remark
</sql>
<select id="selectByExample" parameterType="com.acupuncture.system.domain.po.RmsReportTypeTenantExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from rms_report_type_tenant
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from rms_report_type_tenant
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from rms_report_type_tenant
where id = #{id,jdbcType=BIGINT}
</delete>
<insert id="insert" parameterType="com.acupuncture.system.domain.po.RmsReportTypeTenant">
insert into rms_report_type_tenant (id, report_type_id, tenant_id,
create_by, create_time, update_by,
update_time, remark)
values (#{id,jdbcType=BIGINT}, #{reportTypeId,jdbcType=BIGINT}, #{tenantId,jdbcType=BIGINT},
#{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR},
#{updateTime,jdbcType=TIMESTAMP}, #{remark,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.acupuncture.system.domain.po.RmsReportTypeTenant">
insert into rms_report_type_tenant
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="reportTypeId != null">
report_type_id,
</if>
<if test="tenantId != null">
tenant_id,
</if>
<if test="createBy != null">
create_by,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateBy != null">
update_by,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="remark != null">
remark,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=BIGINT},
</if>
<if test="reportTypeId != null">
#{reportTypeId,jdbcType=BIGINT},
</if>
<if test="tenantId != null">
#{tenantId,jdbcType=BIGINT},
</if>
<if test="createBy != null">
#{createBy,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateBy != null">
#{updateBy,jdbcType=VARCHAR},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="remark != null">
#{remark,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.acupuncture.system.domain.po.RmsReportTypeTenantExample" resultType="java.lang.Long">
select count(*) from rms_report_type_tenant
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update rms_report_type_tenant
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=BIGINT},
</if>
<if test="record.reportTypeId != null">
report_type_id = #{record.reportTypeId,jdbcType=BIGINT},
</if>
<if test="record.tenantId != null">
tenant_id = #{record.tenantId,jdbcType=BIGINT},
</if>
<if test="record.createBy != null">
create_by = #{record.createBy,jdbcType=VARCHAR},
</if>
<if test="record.createTime != null">
create_time = #{record.createTime,jdbcType=TIMESTAMP},
</if>
<if test="record.updateBy != null">
update_by = #{record.updateBy,jdbcType=VARCHAR},
</if>
<if test="record.updateTime != null">
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
</if>
<if test="record.remark != null">
remark = #{record.remark,jdbcType=VARCHAR},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update rms_report_type_tenant
set id = #{record.id,jdbcType=BIGINT},
report_type_id = #{record.reportTypeId,jdbcType=BIGINT},
tenant_id = #{record.tenantId,jdbcType=BIGINT},
create_by = #{record.createBy,jdbcType=VARCHAR},
create_time = #{record.createTime,jdbcType=TIMESTAMP},
update_by = #{record.updateBy,jdbcType=VARCHAR},
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
remark = #{record.remark,jdbcType=VARCHAR}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.acupuncture.system.domain.po.RmsReportTypeTenant">
update rms_report_type_tenant
<set>
<if test="reportTypeId != null">
report_type_id = #{reportTypeId,jdbcType=BIGINT},
</if>
<if test="tenantId != null">
tenant_id = #{tenantId,jdbcType=BIGINT},
</if>
<if test="createBy != null">
create_by = #{createBy,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateBy != null">
update_by = #{updateBy,jdbcType=VARCHAR},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="remark != null">
remark = #{remark,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.acupuncture.system.domain.po.RmsReportTypeTenant">
update rms_report_type_tenant
set report_type_id = #{reportTypeId,jdbcType=BIGINT},
tenant_id = #{tenantId,jdbcType=BIGINT},
create_by = #{createBy,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_by = #{updateBy,jdbcType=VARCHAR},
update_time = #{updateTime,jdbcType=TIMESTAMP},
remark = #{remark,jdbcType=VARCHAR}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

22
acupuncture-system/src/main/resources/mapper/system/SysDictDataMapper.xml

@ -17,11 +17,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="dataType" column="data_type" />
<result property="dataLength" column="data_length" />
<result property="isRequired" column="is_required" />
<result property="isSole" column="is_sole" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectDictDataVo">
select dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark
select dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark ,
data_type, data_length, is_required, is_sole
from sys_dict_data
</sql>
@ -84,6 +89,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="status != null">status = #{status},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
<if test="dataType != null and dataType != ''">data_type = #{dataType} ,</if>
<if test="dataLength != null and dataLength != ''">data_length = #{dataLength} ,</if>
<if test="isRequired != null">is_required = #{isRequired} ,</if>
<if test="isSole != null">is_sole = #{isSole} ,</if>
update_time = sysdate()
</set>
where dict_code = #{dictCode}
@ -105,6 +115,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="status != null">status,</if>
<if test="remark != null and remark != ''">remark,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
<if test="dataType != null and dataType != ''">data_type,</if>
<if test="dataLength != null and dataLength != ''">data_length,</if>
<if test="isRequired != null">is_required,</if>
<if test="isSole != null">is_sole,</if>
create_time
)values(
<if test="dictSort != null">#{dictSort},</if>
@ -117,6 +132,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="status != null">#{status},</if>
<if test="remark != null and remark != ''">#{remark},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
<if test="dataType != null and dataType != ''">#{dataType},</if>
<if test="dataLength != null and dataLength != ''">#{dataLength},</if>
<if test="isRequired != null">#{isRequired},</if>
<if test="isSole != null">#{isSole},</if>
sysdate()
)
</insert>

9
acupuncture-system/src/main/resources/mapper/system/SysMenuMapper.xml

@ -26,10 +26,11 @@
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
<result property="remark" column="remark" />
<result property="clientType" column="client_type" />
</resultMap>
<sql id="selectMenuVo">
select menu_id, menu_name, parent_id, order_num, path, component, `query`, route_name, is_frame, is_cache, menu_type, visible, status, ifnull(perms,'') as perms, icon, create_time
select menu_id, menu_name, parent_id, order_num, path, component, `query`, route_name, is_frame, is_cache, menu_type, visible, status, ifnull(perms,'') as perms, icon, create_time , client_type
from sys_menu
</sql>
@ -45,6 +46,9 @@
<if test="status != null and status != ''">
AND status = #{status}
</if>
<if test="clientType != null">
AND client_type = #{clientType}
</if>
</where>
order by parent_id, order_num
</select>
@ -152,6 +156,7 @@
<if test="icon !=null and icon != ''">icon = #{icon},</if>
<if test="remark != null and remark != ''">remark = #{remark},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
<if test="clientType != null">client_type = #{clientType},</if>
update_time = sysdate()
</set>
where menu_id = #{menuId}
@ -176,6 +181,7 @@
<if test="icon != null and icon != ''">icon,</if>
<if test="remark != null and remark != ''">remark,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
<if test="clientType != null">client_type,</if>
create_time
)values(
<if test="menuId != null and menuId != 0">#{menuId},</if>
@ -195,6 +201,7 @@
<if test="icon != null and icon != ''">#{icon},</if>
<if test="remark != null and remark != ''">#{remark},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
<if test="clientType != null">#{clientType},</if>
sysdate()
)
</insert>

31
acupuncture-system/src/main/resources/mapper/system/SysNoticeMapper.xml

@ -30,19 +30,33 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectNoticeList" parameterType="SysNotice" resultMap="SysNoticeResult">
<include refid="selectNoticeVo"/>
<where>
<if test="noticeTitle != null and noticeTitle != ''">
AND notice_title like concat('%', #{noticeTitle}, '%')
<if test="notice.noticeTitle != null and notice.noticeTitle != ''">
AND notice_title like concat('%', #{notice.noticeTitle}, '%')
</if>
<if test="noticeType != null and noticeType != ''">
AND notice_type = #{noticeType}
<if test="notice.noticeType != null and notice.noticeType != ''">
AND notice_type = #{notice.noticeType}
</if>
<if test="notice.createBy != null and notice.createBy != ''">
AND create_by like concat('%', #{notice.createBy}, '%')
</if>
<if test="userId != null and userId != 1">
<if test="notice.noticeIdList != null and notice.noticeIdList.size() > 0">
and ((notice_id in
<foreach collection="notice.noticeIdList" item="noticeId" open="(" separator="," close=")">
#{noticeId}
</foreach>
)
or is_all = 1
)
</if>
<if test="notice.noticeIdList == null or notice.noticeIdList.size() == 0">
and is_all = 1
</if>
<if test="createBy != null and createBy != ''">
AND create_by like concat('%', #{createBy}, '%')
</if>
</where>
</select>
<insert id="insertNotice" parameterType="SysNotice">
<insert id="insertNotice" parameterType="SysNotice" useGeneratedKeys="true" keyProperty="noticeId">
insert into sys_notice (
<if test="noticeTitle != null and noticeTitle != '' ">notice_title, </if>
<if test="noticeType != null and noticeType != '' ">notice_type, </if>
@ -50,6 +64,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="status != null and status != '' ">status, </if>
<if test="remark != null and remark != ''">remark,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
<if test="isAll != null">is_all,</if>
create_time
)values(
<if test="noticeTitle != null and noticeTitle != ''">#{noticeTitle}, </if>
@ -58,6 +73,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="status != null and status != ''">#{status}, </if>
<if test="remark != null and remark != ''">#{remark},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
<if test="isAll != null">#{isAll},</if>
sysdate()
)
</insert>
@ -70,6 +86,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="noticeContent != null">notice_content = #{noticeContent}, </if>
<if test="status != null and status != ''">status = #{status}, </if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
<if test="isAll != null">is_all = #{isAll},</if>
update_time = sysdate()
</set>
where notice_id = #{noticeId}

252
acupuncture-system/src/main/resources/mapper/system/SysNoticeUserMapper.xml

@ -0,0 +1,252 @@
<?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.acupuncture.system.persist.mapper.SysNoticeUserMapper">
<resultMap id="BaseResultMap" type="com.acupuncture.system.domain.po.SysNoticeUser">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="notice_id" jdbcType="BIGINT" property="noticeId" />
<result column="user_id" jdbcType="BIGINT" property="userId" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, notice_id, user_id, create_by, create_time, update_by, update_time, remark
</sql>
<select id="selectByExample" parameterType="com.acupuncture.system.domain.po.SysNoticeUserExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from sys_notice_user
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from sys_notice_user
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from sys_notice_user
where id = #{id,jdbcType=BIGINT}
</delete>
<insert id="insert" parameterType="com.acupuncture.system.domain.po.SysNoticeUser">
insert into sys_notice_user (id, notice_id, user_id,
create_by, create_time, update_by,
update_time, remark)
values (#{id,jdbcType=BIGINT}, #{noticeId,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT},
#{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR},
#{updateTime,jdbcType=TIMESTAMP}, #{remark,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.acupuncture.system.domain.po.SysNoticeUser">
insert into sys_notice_user
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="noticeId != null">
notice_id,
</if>
<if test="userId != null">
user_id,
</if>
<if test="createBy != null">
create_by,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateBy != null">
update_by,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="remark != null">
remark,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=BIGINT},
</if>
<if test="noticeId != null">
#{noticeId,jdbcType=BIGINT},
</if>
<if test="userId != null">
#{userId,jdbcType=BIGINT},
</if>
<if test="createBy != null">
#{createBy,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateBy != null">
#{updateBy,jdbcType=VARCHAR},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="remark != null">
#{remark,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.acupuncture.system.domain.po.SysNoticeUserExample" resultType="java.lang.Long">
select count(*) from sys_notice_user
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update sys_notice_user
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=BIGINT},
</if>
<if test="record.noticeId != null">
notice_id = #{record.noticeId,jdbcType=BIGINT},
</if>
<if test="record.userId != null">
user_id = #{record.userId,jdbcType=BIGINT},
</if>
<if test="record.createBy != null">
create_by = #{record.createBy,jdbcType=VARCHAR},
</if>
<if test="record.createTime != null">
create_time = #{record.createTime,jdbcType=TIMESTAMP},
</if>
<if test="record.updateBy != null">
update_by = #{record.updateBy,jdbcType=VARCHAR},
</if>
<if test="record.updateTime != null">
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
</if>
<if test="record.remark != null">
remark = #{record.remark,jdbcType=VARCHAR},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update sys_notice_user
set id = #{record.id,jdbcType=BIGINT},
notice_id = #{record.noticeId,jdbcType=BIGINT},
user_id = #{record.userId,jdbcType=BIGINT},
create_by = #{record.createBy,jdbcType=VARCHAR},
create_time = #{record.createTime,jdbcType=TIMESTAMP},
update_by = #{record.updateBy,jdbcType=VARCHAR},
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
remark = #{record.remark,jdbcType=VARCHAR}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.acupuncture.system.domain.po.SysNoticeUser">
update sys_notice_user
<set>
<if test="noticeId != null">
notice_id = #{noticeId,jdbcType=BIGINT},
</if>
<if test="userId != null">
user_id = #{userId,jdbcType=BIGINT},
</if>
<if test="createBy != null">
create_by = #{createBy,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateBy != null">
update_by = #{updateBy,jdbcType=VARCHAR},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="remark != null">
remark = #{remark,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.acupuncture.system.domain.po.SysNoticeUser">
update sys_notice_user
set notice_id = #{noticeId,jdbcType=BIGINT},
user_id = #{userId,jdbcType=BIGINT},
create_by = #{createBy,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_by = #{updateBy,jdbcType=VARCHAR},
update_time = #{updateTime,jdbcType=TIMESTAMP},
remark = #{remark,jdbcType=VARCHAR}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

9
acupuncture-system/src/main/resources/mapper/system/SysRoleMapper.xml

@ -19,11 +19,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
<result property="clientType" column="client_type" />
</resultMap>
<sql id="selectRoleVo">
select distinct r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.menu_check_strictly, r.dept_check_strictly,
r.status, r.del_flag, r.create_time, r.remark
r.status, r.del_flag, r.create_time, r.remark , r.client_type
from sys_role r
left join sys_user_role ur on ur.role_id = r.role_id
left join sys_user u on u.user_id = ur.user_id
@ -51,6 +52,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
and date_format(r.create_time,'%Y%m%d') &lt;= date_format(#{params.endTime},'%Y%m%d')
</if>
<if test="clientType != null">
AND r.client_type = #{clientType}
</if>
<!-- 数据范围过滤 -->
${params.dataScope}
order by r.role_sort
@ -105,6 +109,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="status != null and status != ''">status,</if>
<if test="remark != null and remark != ''">remark,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
<if test="clientType != null">client_type,</if>
create_time
)values(
<if test="roleId != null and roleId != 0">#{roleId},</if>
@ -117,6 +122,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="status != null and status != ''">#{status},</if>
<if test="remark != null and remark != ''">#{remark},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
<if test="clientType != null">#{clientType},</if>
sysdate()
)
</insert>
@ -133,6 +139,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="status != null and status != ''">status = #{status},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
<if test="clientType != null">client_type = #{clientType},</if>
update_time = sysdate()
</set>
where role_id = #{roleId}

117
acupuncture-前台/src/App.vue

@ -2,15 +2,130 @@
<div id="app">
<router-view />
<theme-picker />
<el-dialog
:close-on-click-modal="false"
:close-on-press-escape="false"
title="修改密码"
:visible.sync="passShow"
width="620px"
append-to-body
class="popup"
:show-close="false"
>
<el-form ref="form" :model="user" :rules="rules" label-width="80px">
<el-form-item label="旧密码" prop="oldPassword">
<el-input
v-model="user.oldPassword"
placeholder="请输入旧密码"
type="password"
show-password
/>
</el-form-item>
<el-form-item label="新密码" prop="newPassword">
<el-input
v-model="user.newPassword"
placeholder="请输入新密码"
type="password"
show-password
/>
</el-form-item>
<el-form-item label="确认密码" prop="confirmPassword">
<el-input
v-model="user.confirmPassword"
placeholder="请确认新密码"
type="password"
show-password
/>
</el-form-item>
<el-form-item label=" " style="margin-bottom: 0px">
<template slot-scope="scope">
<el-button type="primary" @click="submit" size="mini"
> </el-button
>
</template>
</el-form-item>
</el-form>
</el-dialog>
</div>
</template>
<script>
import { updateUserPwd } from "@/api/system/user";
import ThemePicker from "@/components/ThemePicker";
import { mapState, mapMutations } from "vuex";
export default {
name: "App",
components: { ThemePicker },
data() {
const equalToPassword = (rule, value, callback) => {
if (this.user.newPassword !== value) {
callback(new Error("两次输入的密码不一致"));
} else {
callback();
}
};
return {
passShow: false,
user: {
oldPassword: undefined,
newPassword: undefined,
confirmPassword: undefined,
},
rules: {
oldPassword: [
{ required: true, message: "旧密码不能为空", trigger: "blur" },
],
newPassword: [
{ required: true, message: "密码不能为空", trigger: "blur" },
{
pattern: /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[^\da-zA-Z\s]).{8,20}$/,
message: "必须包含数字、字母、特殊字符, 长度为8到20位",
trigger: "blur",
},
],
confirmPassword: [
{ required: true, message: "确认密码不能为空", trigger: "blur" },
{ required: true, validator: equalToPassword, trigger: "blur" },
],
},
userInfo: {},
};
},
computed: {
...mapState({
forceUpdPwdFlag: (state) => state.user.forceUpdPwdFlag,
}),
},
watch: {
// storeforceUpdPwdFlag
forceUpdPwdFlag(new1, old) {
if (new1) {
this.passShow = true;
}
},
},
created() {},
methods: {
submit() {
this.$refs["form"].validate(async (valid) => {
if (valid) {
const res = await updateUserPwd(
this.user.oldPassword,
this.user.newPassword
);
const { code, msg } = res;
if (code === 200) {
this.passShow = false;
this.$message.success("修改成功");
// const res = await getInfo();
} else {
this.$message.warning(msg);
}
}
});
},
},
metaInfo() {
return {
title:

15
acupuncture-前台/src/api/medicalFile.js

@ -32,6 +32,21 @@ export function treatmentDel(data) {
data: data,
});
}
// 查询上报管理
export function managerMy(data) {
return request({
url: "/report/queryManagerMy",
method: "post",
data: data,
});
}
export function reportList(data) {
return request({
url: "/report/list",
method: "post",
data: data,
});
}
// 档案详情
export function queryRecord(data) {
return request({

1
acupuncture-前台/src/store/getters.js

@ -15,5 +15,6 @@ const getters = {
topbarRouters:state => state.permission.topbarRouters,
defaultRoutes:state => state.permission.defaultRoutes,
sidebarRouters:state => state.permission.sidebarRouters,
forceUpdPwdFlag: state => state.user.forceUpdPwdFlag,
}
export default getters

134
acupuncture-前台/src/store/modules/user.js

@ -1,107 +1,121 @@
import { login, logout, getInfo } from '@/api/login'
import { getToken, setToken, removeToken } from '@/utils/auth'
import { isHttp, isEmpty } from "@/utils/validate"
import defAva from '@/assets/images/profile.jpg'
import { login, logout, getInfo } from "@/api/login";
import { getToken, setToken, removeToken } from "@/utils/auth";
import { isHttp, isEmpty } from "@/utils/validate";
import defAva from "@/assets/images/profile.jpg";
const user = {
state: {
token: getToken(),
id: '',
name: '',
avatar: '',
id: "",
name: "",
avatar: "",
roles: [],
permissions: []
permissions: [],
forceUpdPwdFlag: 0,
},
mutations: {
SET_TOKEN: (state, token) => {
state.token = token
state.token = token;
},
SET_ID: (state, id) => {
state.id = id
state.id = id;
},
SET_NAME: (state, name) => {
state.name = name
state.name = name;
},
SET_AVATAR: (state, avatar) => {
state.avatar = avatar
state.avatar = avatar;
},
SET_ROLES: (state, roles) => {
state.roles = roles
state.roles = roles;
},
SET_PERMISSIONS: (state, permissions) => {
state.permissions = permissions
}
state.permissions = permissions;
},
SET_PWDFLAG: (state, data) => {
state.forceUpdPwdFlag = data;
},
},
actions: {
// 登录
Login({ commit }, userInfo) {
const username = userInfo.username.trim()
const password = userInfo.password
const code = userInfo.code
const uuid = userInfo.uuid
const username = userInfo.username.trim();
const password = userInfo.password;
const code = userInfo.code;
const uuid = userInfo.uuid;
return new Promise((resolve, reject) => {
login(username, password, code, uuid).then(res => {
setToken(res.token)
commit('SET_TOKEN', res.token)
resolve()
}).catch(error => {
reject(error)
})
login(username, password, code, uuid)
.then((res) => {
setToken(res.token);
commit("SET_TOKEN", res.token);
resolve();
})
.catch((error) => {
reject(error);
});
});
},
// 获取用户信息
GetInfo({ commit, state }) {
return new Promise((resolve, reject) => {
getInfo().then(res => {
const user = res.user
localStorage.setItem("user", JSON.stringify(user))
let avatar = user.avatar || ""
getInfo()
.then((res) => {
const user = res.user;
commit("SET_PWDFLAG", res.forceUpdPwdFlag);
localStorage.setItem("user", JSON.stringify(user));
let avatar = user.avatar || "";
if (!isHttp(avatar)) {
avatar = (isEmpty(avatar)) ? defAva : process.env.VUE_APP_BASE_API + avatar
avatar = isEmpty(avatar)
? defAva
: process.env.VUE_APP_BASE_API + avatar;
}
if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
commit('SET_ROLES', res.roles)
commit('SET_PERMISSIONS', res.permissions)
if (res.roles && res.roles.length > 0) {
// 验证返回的roles是否是一个非空数组
commit("SET_ROLES", res.roles);
commit("SET_PERMISSIONS", res.permissions);
} else {
commit('SET_ROLES', ['ROLE_DEFAULT'])
commit("SET_ROLES", ["ROLE_DEFAULT"]);
}
commit('SET_ID', user.userId)
commit('SET_NAME', user.userName)
commit('SET_AVATAR', avatar)
resolve(res)
}).catch(error => {
reject(error)
})
commit("SET_ID", user.userId);
commit("SET_NAME", user.userName);
commit("SET_AVATAR", avatar);
resolve(res);
})
.catch((error) => {
reject(error);
});
});
},
// 退出系统
LogOut({ commit, state }) {
return new Promise((resolve, reject) => {
logout(state.token).then(() => {
commit('SET_TOKEN', '')
commit('SET_ROLES', [])
commit('SET_PERMISSIONS', [])
removeToken()
resolve()
}).catch(error => {
reject(error)
})
logout(state.token)
.then(() => {
commit("SET_TOKEN", "");
commit("SET_ROLES", []);
commit("SET_PERMISSIONS", []);
removeToken();
resolve();
})
.catch((error) => {
reject(error);
});
});
},
// 前端 登出
FedLogOut({ commit }) {
return new Promise(resolve => {
commit('SET_TOKEN', '')
removeToken()
resolve()
})
}
}
}
return new Promise((resolve) => {
commit("SET_TOKEN", "");
removeToken();
resolve();
});
},
},
};
export default user
export default user;

259
acupuncture-前台/src/views/medicalFile/index.vue

@ -6,7 +6,6 @@
size="small"
:inline="true"
v-show="showSearch"
label-width="80px"
>
<el-form-item label="" prop="noticeTitle">
<el-input
@ -48,14 +47,6 @@
<el-option label="女" :value="1" />
</el-select>
</el-form-item>
<!-- <el-form-item label="手机号码" prop="phone">
<el-input v-model="queryParams.param.phone" placeholder="请输入" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="证件号码" prop="idCard">
<el-input v-model="queryParams.param.idCard" placeholder="请输入" clearable
@keyup.enter.native="handleQuery" />
</el-form-item> -->
<el-form-item label="年龄范围" prop="createBy">
<div class="form-item-age">
<el-input
@ -93,6 +84,49 @@
<el-option label="驳回" :value="3" />
</el-select>
</el-form-item>
<el-form-item label="诊疗日期" prop="time">
<el-date-picker
v-model="time"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="上报标题" prop="managementId">
<el-select
v-model="queryParams.param.managementId"
placeholder="请选择"
filterable
clearable
>
<el-option
v-for="item in managerList"
:key="item.id"
:label="item.reportTitle"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item> -->
<el-form-item label="填报类型" prop="reportTypeId">
<el-select
v-model="queryParams.param.reportTypeId"
placeholder="请选择"
filterable
clearable
>
<el-option
v-for="item in reporTypeList"
:key="item.id"
:label="item.typeName"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type="primary"
@ -116,7 +150,7 @@
icon="el-icon-plus"
size="mini"
@click="handleAdd"
>新增</el-button
>新增病历直报</el-button
>
</el-col>
<el-col :span="1.5">
@ -318,6 +352,18 @@
show-overflow-tooltip
min-width="180"
/>
<el-table-column
label="诊疗日期"
align="center"
show-overflow-tooltip
min-width="140"
>
<template slot-scope="scope">
<span>
{{ parseTime(scope.row.visitTime, "{y}-{m}-{d}") }}
</span>
</template>
</el-table-column>
<el-table-column
label="门诊时间/住院时间"
align="center"
@ -343,7 +389,14 @@
</span>
</template>
</el-table-column>
<el-table-column
label="上报标题"
align="center"
prop="reportTitle"
show-overflow-tooltip
min-width="150"
>
</el-table-column>
<el-table-column
label="建档人"
align="center"
@ -471,9 +524,20 @@
ref="form"
:model="form"
:rules="rules"
label-width="140px"
label-width="100px"
class="formStep"
>
<el-form-item label="上报标题" prop="managementId">
<el-select v-model="form.managementId" placeholder="请选择">
<el-option
v-for="item in managerList"
:key="item.id"
:label="item.reportTitle"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入" />
</el-form-item>
@ -578,18 +642,6 @@
<el-form-item label="责任医生" prop="">
<el-input v-model="form.doctor" placeholder="请输入" />
</el-form-item>
<!-- <el-form-item label="随访队列" prop="queueIdList">
<el-select v-model="form.queueIdList" multiple placeholder="请选择">
<el-option
v-for="item in followupList"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -644,6 +696,8 @@ import {
saveAidRecord,
queueAdd,
exportTreatmentPg,
managerMy,
reportList,
} from "@/api/medicalFile";
import { getToken } from "@/utils/auth";
import { followupQuery } from "@/api/followupFile";
@ -652,8 +706,9 @@ export default {
dicts: ["sys_normal_disable", "sys_user_sex"],
data() {
return {
time: [],
reportPath: "",
managerList: [], //
timestamp: "",
qzUrl: process.env.VUE_APP_API_QZURL, //
userInfo: {},
@ -830,52 +885,6 @@ export default {
importform: {},
form: {},
detailsForm: {
JBXX_ZYZD: [], //
JBXX_ZYZD_QT: "", //_
PG_RTCF_TZ: "", //
PG_RTCF_QZTZ: "", //
PG_RTCF_JRL: "", //
PG_RTCF_TBW: "", //TBW
PG_RTCF_DBZ: "", //
PG_RTCF_GZ: "", //GZ
G_RTCF_ZF: "", //
PG_RTCF_PBF: "", //
PG_RTCF_GGJ: "", //
PG_RTCF_BMI: "", //BMI
PG_RTCF_WHR: "", //WHR
PG_RTCF_NZZFSP: "", //
PG_RTCF_STGCFBFB: "", //
PG_RTCF_TXLX: "", //
PG_RTCF_STNL: "", //
PG_RTCF_JKPF: "", //
PG_TZBS_ZYTZ: "", //
PG_TZBS_JJTZ: [], //
PG_TT_TAPS_DF: "", //TAPS
PG_TT_TRACE_DF: "", //TRACE
PG_TT_SRS22_DF: "", //SRS-22
"PG_SM_PHQ-9_DF": "", // PHQ-9
PG_SM_EPSW_DF: "", //Epworth
PG_SM_PSQI_DF: "", //PSQI
"PG_JL_HAMD-24_DF": "", //HAMD-24
PG_JL_SAS_DF: "", //SAS
ZLFA_ZLLX: "", //
ZLFA_XWXLGY: "", //
ZLFA_YDGY: "", //
ZLFA_ZJ_LF: "", //-
ZLFA_ZJ_XW: "", //-
ZLFA_YW: "", //
ZLFA_SHXG: "", //
ZLFA_XLTS: "", //
ZLFA_LCYYZL: "", //
ZLFA_ZJ_LF_SMZ: "", // --
ZLFA_ZJ_XW_SMZ: "", // --
ZLFA_YW_SMZ: "", // -
ZLFA_ZJ_LF_QT: "", // --
ZLFA_ZJ_XW_QT: "", // --
ZLFA_YW_QT: "", // -
}, //
//
rules: {
name: [
@ -970,6 +979,7 @@ export default {
},
],
},
reporTypeList: [],
};
},
created() {
@ -992,10 +1002,29 @@ export default {
this.open = true;
}
this.getList();
this.getManagerMy();
this.getReportType();
this.userInfo = JSON.parse(localStorage.getItem("user"));
// this.getFollowupQuery();
},
methods: {
//
getReportType() {
reportList({
pageNum: -1,
param: {},
}).then((res) => {
this.reporTypeList = res.data.list;
});
},
getManagerMy() {
managerMy({
pageNum: -1,
param: {},
}).then((res) => {
this.managerList = res.data.list;
});
},
// 访
getFollowupQuery() {
followupQuery({
@ -1049,8 +1078,8 @@ export default {
getList() {
this.loading = true;
treatmentQuery(this.queryParams).then((res) => {
this.listDat = res.data.list;
this.total = res.data.total;
this.listDat = res.data.list || [];
this.total = res.data.total || 0;
this.loading = false;
});
},
@ -1077,12 +1106,21 @@ export default {
doctor: "",
status: 0,
queueIdList: [],
managementId: "",
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
// time + 00:00:00 + 23:59:59
if (this.time?.length > 0) {
this.queryParams.param.startTime = this.time[0] + " 00:00:00";
this.queryParams.param.endTime = this.time[1] + " 23:59:59";
} else {
this.queryParams.param.startTime = "";
this.queryParams.param.endTime = "";
}
this.getList();
},
/** 重置按钮操作 */
@ -1098,7 +1136,10 @@ export default {
endAge: "",
doctor: "",
status: "",
managementId: "",
reportTypeId: "",
};
this.time = [];
this.handleQuery();
},
//
@ -1170,78 +1211,6 @@ export default {
row
)}`,
});
// this.getDetailsForm() //
// this.form = JSON.parse(JSON.stringify(row));
// queryRecord({
// treatmentId: row.id
// }).then((res) => {
// let arrList = ["JBXX_ZYZD", "PG_RTCF_TXLX", "PG_TZBS_JJTZ"];
// let recordValDict = res.data.recordValDict;
// for (let key in recordValDict) {
// if (arrList.includes(key)) {
// recordValDict[key] = recordValDict[key][0].answer;
// } else {
// recordValDict[key] = recordValDict[key][0].answer.join(",");
// }
// }
// this.detailsForm = {
// ...this.detailsForm,
// ...recordValDict
// };
// console.log(" this.detailsForm", this.detailsForm);
// this.drawer = true;
// this.title = "";
// });
},
getDetailsForm() {
this.detailsForm = {
JBXX_ZYZD: [], //
JBXX_ZYZD_QT: "", //_
PG_RTCF_TZ: "", //
PG_RTCF_QZTZ: "", //
PG_RTCF_JRL: "", //
PG_RTCF_TBW: "", //TBW
PG_RTCF_DBZ: "", //
PG_RTCF_GZ: "", //GZ
G_RTCF_ZF: "", //
PG_RTCF_PBF: "", //
PG_RTCF_GGJ: "", //
PG_RTCF_BMI: "", //BMI
PG_RTCF_WHR: "", //WHR
PG_RTCF_NZZFSP: "", //
PG_RTCF_STGCFBFB: "", //
PG_RTCF_TXLX: "", //
PG_RTCF_STNL: "", //
PG_RTCF_JKPF: "", //
PG_TZBS_ZYTZ: "", //
PG_TZBS_JJTZ: [], //
PG_TT_TAPS_DF: "", //TAPS
PG_TT_TRACE_DF: "", //TRACE
PG_TT_SRS22_DF: "", //SRS-22
"PG_SM_PHQ-9_DF": "", // PHQ-9
PG_SM_EPSW_DF: "", //Epworth
PG_SM_PSQI_DF: "", //PSQI
"PG_JL_HAMD-24_DF": "", //HAMD-24
PG_JL_SAS_DF: "", //SAS
ZLFA_ZLLX: "", //
ZLFA_XWXLGY: "", //
ZLFA_YDGY: "", //
ZLFA_ZJ_LF: "", //-
ZLFA_ZJ_XW: "", //-
ZLFA_YW: "", //
ZLFA_SHXG: "", //
ZLFA_XLTS: "", //
ZLFA_LCYYZL: "", //
ZLFA_ZJ_LF_SMZ: "", // --
ZLFA_ZJ_XW_SMZ: "", // --
ZLFA_YW_SMZ: "", // -
ZLFA_ZJ_LF_QT: "", // --
ZLFA_ZJ_XW_QT: "", // --
ZLFA_YW_QT: "", // -
};
},
/** 诊疗档案 */
submitForm: function () {

2
acupuncture-前台/src/views/patientFile/index.vue

@ -321,7 +321,7 @@
type="text"
icon="el-icon-plus"
@click="handleArchivesAdd(scope.row)"
>新增诊疗档案
>新增病历直报
</el-button>
</template>
</el-table-column>

BIN
acupuncture-前台/南宁针灸前台ssl-添加不良反应、并发症1.zip → acupuncture-前台/南宁针灸前台ssl-4.zip

Binary file not shown.

BIN
acupuncture-前台/针灸前台clientssl-2.zip

Binary file not shown.

8
acupuncture-后台/src/api/medicalFile.js

@ -64,3 +64,11 @@ export function exportTreatmentPg(data) {
data: data,
});
}
// 审核
export function treatmentAudit(data) {
return request({
url: "/admin/treatment/aduit",
method: "post",
data: data,
});
}

52
acupuncture-后台/src/api/monitor/cache.js

@ -1,57 +1,65 @@
import request from '@/utils/request'
import request from "@/utils/request";
// 查询缓存详细
export function getCache() {
return request({
url: '/monitor/cache',
method: 'get'
})
url: "/monitor/cache",
method: "get",
});
}
// 查询缓存名称列表
export function listCacheName() {
return request({
url: '/monitor/cache/getNames',
method: 'get'
})
url: "/monitor/cache/getNames",
method: "get",
});
}
// 查询缓存键名列表
export function listCacheKey(cacheName) {
return request({
url: '/monitor/cache/getKeys/' + cacheName,
method: 'get'
})
url: "/monitor/cache/getKeys/" + cacheName,
method: "get",
});
}
// 查询缓存内容
export function getCacheValue(cacheName, cacheKey) {
return request({
url: '/monitor/cache/getValue/' + cacheName + '/' + cacheKey,
method: 'get'
})
url: "/monitor/cache/getValue/" + cacheName + "/" + cacheKey,
method: "get",
});
}
// 清理指定名称缓存
export function clearCacheName(cacheName) {
return request({
url: '/monitor/cache/clearCacheName/' + cacheName,
method: 'delete'
})
url: "/monitor/cache/clearCacheName/" + cacheName,
method: "delete",
});
}
// 清理指定键名缓存
export function clearCacheKey(cacheKey) {
return request({
url: '/monitor/cache/clearCacheKey/' + cacheKey,
method: 'delete'
})
url: "/monitor/cache/clearCacheKey/" + cacheKey,
method: "delete",
});
}
// 清理全部缓存
export function clearCacheAll() {
return request({
url: '/monitor/cache/clearCacheAll',
method: 'delete'
})
url: "/monitor/cache/clearCacheAll",
method: "delete",
});
}
// 新增修改
export function cacheAdd(query) {
return request({
url: "/monitor/cache/add",
method: "get",
params: query,
});
}

8
acupuncture-后台/src/api/report.js

@ -62,3 +62,11 @@ export function managerDel(data) {
data: data,
});
}
// 下载上报汇总表
export function reportDown(data) {
return request({
url: "/admin/treatment/adminExportTreatmentPgZip",
method: "post",
data: data,
});
}

2
acupuncture-后台/src/views/followFile/work.vue

@ -530,7 +530,7 @@ export default {
created() {
let { name, phone } = this.$route.query;
this.queryParams.param.keywords = name || "";
this.queryParams.param.phone = phone || "";
this.queryParams.param.phone = phone !== 'null' ? phone : "";
this.getList();
this.getTenantsList(); //
},

523
acupuncture-后台/src/views/medicalFile/index.vue

@ -6,7 +6,6 @@
size="small"
:inline="true"
v-show="showSearch"
label-width="80px"
>
<el-form-item label="" prop="noticeTitle">
<el-input
@ -93,7 +92,23 @@
<el-option label="驳回" :value="3" />
</el-select>
</el-form-item>
<el-form-item label="建档组织" prop="tenantId">
<el-form-item label="上报标题" prop="managementId">
<el-select
v-model="queryParams.param.managementId"
placeholder="请选择"
filterable
clearable
>
<el-option
v-for="item in managerList"
:key="item.id"
:label="item.reportTitle"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="上报单位" prop="tenantId">
<el-select
v-model="queryParams.param.tenantId"
placeholder="请选择"
@ -108,6 +123,17 @@
/>
</el-select>
</el-form-item>
<el-form-item label="门诊/住院时间" prop="time">
<el-date-picker
v-model="time"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type="primary"
@ -359,9 +385,16 @@
</span>
</template>
</el-table-column>
<el-table-column
label="建档人"
label="上报标题"
align="center"
prop="reportTitle"
show-overflow-tooltip
min-width="150"
>
</el-table-column>
<el-table-column
label="上报人"
align="center"
prop="createBy"
show-overflow-tooltip
@ -369,7 +402,7 @@
/>
<el-table-column
prop="tenantName"
label="建档组织"
label="上报单位"
align="center"
show-overflow-tooltip
min-width="150"
@ -400,7 +433,7 @@
label="操作"
align="center"
class-name="small-padding fixed-width"
width="300"
width="250"
>
<template slot-scope="scope">
<!-- <el-button
@ -456,7 +489,7 @@
提交审核
</el-button> -->
<!-- 审核 -->
<!-- <el-button
<el-button
:disabled="scope.row.status != 1"
size="mini"
type="text"
@ -475,7 +508,7 @@
v-hasPermi="['medicalFile:index:reject']"
>
驳回
</el-button> -->
</el-button>
</template>
</el-table-column>
</el-table>
@ -661,7 +694,9 @@ import {
saveAidRecord,
queueAdd,
exportTreatmentPg,
treatmentAudit,
} from "@/api/medicalFile";
import { managerQuery } from "@/api/report";
import { tenantsList } from "@/api/member";
import { getToken } from "@/utils/auth";
import { followupQuery } from "@/api/followupFile";
@ -670,6 +705,8 @@ export default {
dicts: ["sys_normal_disable", "sys_user_sex"],
data() {
return {
time: [],
managerList: [], //
tenantsListData: [],
qzUrl: process.env.VUE_APP_API_QZURL, //
//
@ -755,16 +792,6 @@ export default {
fileList: [],
followupList: [],
queueOpen: false,
//
medicalHistory: [
"肥胖症",
"失眠病",
"中风病",
"面瘫病",
"项痹病",
"腰痛病",
"痉挛性斜颈",
],
idCardType: [
{
label: "身份证",
@ -794,392 +821,6 @@ export default {
3: "台湾居民来往大陆通行证",
4: "其他",
},
//
systemType: [
"隐形肥胖型",
"脂肪过多型",
"肥胖型",
"肌肉不足型",
"健康匀称型",
"超重肌肉型",
"消瘦型",
"低脂肪型",
"运动员型",
],
//
habitus: [
"平和质",
"气虚质",
" 阳虚质",
"阴虚质",
"痰湿质",
" 湿热质",
"血瘀质",
"气郁质",
"特禀质",
],
//
healType: [
{
title: "肥胖症",
list: [
{
title: "行为心理干预",
valueCode: "ZLFA_XWXLGY",
list: [
{
title:
"行为技能训练:辅导有效的应对压力技巧,避免因情绪波动导致过度进食,训练正念饮食,提高对饥饿和饱足感的感知能力",
value: "行为技能训练",
type: "but",
},
{
title:
"目标设定与追踪:与患者共同设立短期和长期减重目标,定期进行进度评估,强化正面反馈,提高自我管理能力",
value: "目标设定与追踪",
type: "but",
},
],
},
{
title: "运动干预",
valueCode: "ZLFA_YDGY",
list: [
{
title:
"有氧运动:如快走、慢跑、游泳等,建议每周至少进行150分钟中等强度的有氧运动",
value: "有氧运动",
type: "but",
},
{
title:
"抗阻运动:如举重、俯卧撑等,建议每周进行2-3次抗阻运动",
value: "抗阻运动",
type: "but",
},
],
},
{
title: "临床营养治疗",
valueCode: "ZLFA_LCYYZL",
list: [
{
title:
"限能量饮食:在限制能量摄入(日常饮食能量减去30%)的基础上,营养素比例符合平衡膳食的要求",
value: "限能量饮食",
type: "but",
},
{
title: "高蛋白饮食:每日蛋白质摄入量超过20%,但一般不高于35%",
value: "高蛋白饮食",
type: "but",
},
{
title: "低碳水化合物饮食:碳水化合物供能比一般在20%-40%",
value: "低碳水化合物饮食",
type: "but",
},
{
title:
"断食:如5+2模式,1周中5天相对正常进食,其他2天摄取平常的1/4能量",
value: "断食",
type: "but",
},
],
},
{
title: "针灸疗法",
list: [
{
title: "疗法",
valueCode: "ZLFA_ZJ_LF",
list: [
{
title: "毫针/电针疗法",
type: "but",
},
{
title: "温针疗法",
type: "but",
},
{
title: "耳穴贴压疗法",
type: "but",
},
{
title: "穴位埋针法",
type: "but",
},
{
title: "穴位埋线法",
type: "but",
},
],
},
{
title: "穴位",
valueCode: "ZLFA_ZJ_XW",
list: [
{
title: "神门:安神定志,改善睡眠质量",
value: "神门",
type: "but",
},
{
title: "三阴交:调理脾胃,养血安神",
value: "三阴交",
type: "but",
},
{
title: "百会:调节大脑功能,促进睡眠",
value: "百会",
type: "but",
},
{
title: "安眠:直接作用于睡眠中枢,帮助入睡",
value: "安眠",
type: "but",
},
],
},
],
},
{
title: "药物治疗",
valueCode: "ZLFA_YW",
list: [
{
title: "奥利司他:通过抑制胃肠道脂肪酶,减少脂肪吸收",
value: "奥利司他",
type: "but",
},
{
title: "利拉鲁肽:GLP-1受体激动剂,延缓胃排空,增加饱腹感",
value: "利拉鲁肽",
type: "but",
},
{
title: "贝那鲁肽:GLP-1受体激动剂,作用机制与利拉鲁肽类似",
value: "贝那鲁肽",
type: "but",
},
{
title:
"司美格鲁肽:GLP-1受体激动剂,每周一次给药,减重效果显著",
value: "司美格鲁肽",
type: "but",
},
{
title: "替尔泊肽:GLP-1受体激动剂,适用于肥胖症治疗",
value: "替尔泊肽",
type: "but",
},
],
},
],
},
{
title: "失眠症",
list: [
{
title: "生活习惯",
valueCode: "ZLFA_SHXG",
list: [
{
title:
"科学膳食:避免午后摄入咖啡、茶、酒精等刺激性饮品,以及睡前过度进食",
value: "科学膳食",
type: "but",
},
{
title:
"充足日照:增加日间自然光照,减少夜间人工光源,特别是电子产品的使用",
value: "充足日照",
type: "but",
},
{
title:
"合理运动:推荐瑜伽、太极拳、八段锦等传统运动,有助于改善睡眠质量",
value: "合理运动",
type: "but",
},
],
},
{
title: "心理调适",
valueCode: "ZLFA_XLTS",
list: [
{
title:
"放松训练:包括渐进式肌肉放松训练、腹式呼吸、冥想等,可降低紧张与过度警觉,提高睡眠质量",
value: "放松训练",
type: "but",
},
{
title:
"音乐疗法:轻柔舒缓的音乐可以降低神经系统兴奋性,减轻焦虑情绪从而改善睡眠",
value: "音乐疗法",
type: "but",
},
{
title:
"认知调整:不灾难化和过分关注失眠,不因偶尔失眠而产生挫败感,培养失眠的耐受性",
value: "认知调整",
type: "but",
},
],
},
{
title: "针灸疗法",
list: [
{
title: "疗法",
valueCode: "ZLFA_ZJ_LF_SMZ",
list: [
{
title: "毫针/电针疗法",
type: "but",
},
{
title: "温针疗法",
type: "but",
},
{
title: "耳穴贴压疗法",
type: "but",
},
{
title: "穴位埋针法",
type: "but",
},
{
title: "穴位埋线法",
type: "but",
},
],
},
{
title: "穴位",
valueCode: "ZLFA_ZJ_XW_SMZ",
list: [
{
title: "神门:安神定志,改善睡眠质量",
value: "神门",
type: "but",
},
{
title: "三阴交:调理脾胃,养血安神",
value: "三阴交",
type: "but",
},
{
title: "百会:调节大脑功能,促进睡眠",
value: "百会",
type: "but",
},
{
title: "安眠:直接作用于睡眠中枢,帮助入睡",
value: "安眠",
type: "but",
},
],
},
],
},
{
title: "药物治疗",
valueCode: "ZLFA_YW_SMZ",
list: [
{
title:
"苯二氮䓬受体激动剂(BZRAs):艾司唑仑、阿普唑仑、劳拉西泮等",
value: "苯二氮䓬受体激动剂(BZRAs)",
type: "but",
},
{
title:
"非苯二氮䓬类药物(non-BZDs):唑吡坦、扎来普隆、右佐匹克隆、佐匹克隆",
value: "非苯二氮䓬类药物(non-BZDs)",
type: "but",
},
{
title: "褪黑素和褪黑素受体激动剂:调节生物钟,改善睡眠",
value: "褪黑素和褪黑素受体激动剂",
type: "but",
},
{
title:
"抗抑郁药物:具有镇静作用的抗抑郁药物,如曲唑酮、米氮平等,可用于失眠伴抑郁症状的患者",
value: "抗抑郁药物",
type: "but",
},
{
title:
"其他药物:选择性食欲素受体拮抗剂苏沃雷生,可用于改善睡眠质量",
value: "其他药物",
type: "but",
},
],
},
],
},
{
title: "其他",
list: [
{
title: "针灸疗法",
list: [
{
title: "疗法",
valueCode: "ZLFA_ZJ_LF_QT",
list: [
{
title: "毫针/电针疗法",
type: "but",
},
{
title: "温针疗法",
type: "but",
},
{
title: "耳穴贴压疗法",
type: "but",
},
{
title: "穴位埋针法",
type: "but",
},
{
title: "穴位埋线法",
type: "but",
},
],
},
{
title: "穴位",
valueCode: "ZLFA_ZJ_XW_QT",
list: [
{
title: "填写",
type: "input",
},
],
},
],
},
{
title: "药物治疗",
valueCode: "ZLFA_YW_QT",
list: [
{
title: "填写",
type: "input",
},
],
},
],
},
],
status: {
0: "保存",
1: "待审核",
@ -1213,6 +854,9 @@ export default {
doctor: "",
status: "",
tenantId: "",
managementId: "",
startTime: "",
endTime: "",
},
},
formDisabled: false,
@ -1367,13 +1011,24 @@ export default {
};
},
created() {
let { name, phone } = this.$route.query;
this.queryParams.param.keywords = name || "";
this.queryParams.param.phone = phone || "";
let { name, phone, managementId } = this.$route.query;
this.queryParams.param.keywords = name;
this.queryParams.param.phone = phone !== "null" ? phone : "";
this.queryParams.param.managementId = managementId;
this.getList();
this.getTenantsList(); //
this.getManagerList(); //
},
methods: {
/** 上报管理列表 */
getManagerList() {
managerQuery({
pageNum: -1,
param: {},
}).then((res) => {
this.managerList = res.data.list;
});
},
//
getTenantsList() {
tenantsList({
@ -1470,6 +1125,14 @@ export default {
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
// time + 00:00:00 + 23:59:59
if (this.time?.length > 0) {
this.queryParams.param.startTime = this.time[0] + " 00:00:00";
this.queryParams.param.endTime = this.time[1] + " 23:59:59";
} else {
this.queryParams.param.startTime = "";
this.queryParams.param.endTime = "";
}
this.getList();
},
/** 重置按钮操作 */
@ -1485,7 +1148,10 @@ export default {
endAge: "",
doctor: "",
status: "",
tenantId: "",
managementId: "",
};
this.time = [];
this.handleQuery();
},
//
@ -1514,15 +1180,17 @@ export default {
},
/** 提交审核 */
handleExamine(row, _status) {
let form = JSON.parse(JSON.stringify(row));
form = {
...JSON.parse(JSON.stringify(row)),
let params = {
tenantId: row.tenantId, // id
treatmentId: row.id, // id
status: _status, // 0 1 2 3
};
form.status = _status;
let title = this.status[_status];
title = title == "待审核" ? "提交" : title;
this.$modal
.confirm(`是否确认提交当前选择的数据(${row.name})?`)
.confirm(`是否确认${title}当前选择的数据(${row.name})?`)
.then(function () {
return treatmentUpd(form);
return treatmentAudit(params);
})
.then(() => {
this.getList();
@ -1636,35 +1304,6 @@ export default {
}
});
},
//
submitDetailsForm: function () {
this.$refs["detailsForm"].validate((valid) => {
if (valid) {
let codeAndAnswerList = [];
for (let key in this.detailsForm) {
let data = {
questionCode: key,
answer: "",
};
if (typeof this.detailsForm[key] === "string") {
data.answer = this.detailsForm[key].split(",");
} else {
data.answer = this.detailsForm[key];
}
codeAndAnswerList.push(data);
}
saveAidRecord({
treatmentId: this.form.id,
codeAndAnswerList,
}).then((response) => {
this.$modal.msgSuccess("保存成功");
this.drawer = false;
this.getList();
});
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const idList = row.id ? [row.id] : this.ids;

103
acupuncture-后台/src/views/monitor/cache/list.vue

@ -11,6 +11,12 @@
icon="el-icon-refresh-right"
@click="refreshCacheNames()"
></el-button>
<el-button
style="float: right; padding: 3px 0"
type="text"
icon="el-icon-plus"
@click="handelAdd()"
></el-button>
</div>
<el-table
v-loading="loading"
@ -47,6 +53,12 @@
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpd(scope.row)"
></el-button>
<el-button
size="mini"
type="text"
@ -148,33 +160,106 @@
</el-card>
</el-col>
</el-row>
<el-dialog
:title="title"
:visible.sync="open"
width="620px"
append-to-body
class="popup"
>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="缓存名称" prop="cacheName">
<el-input
v-model="form.cacheName"
placeholder="请输入缓存名称"
:disabled="title == '修改缓存'"
/>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
<el-form-item label=" " style="margin-bottom: 0px">
<template slot-scope="scope">
<el-button type="primary" @click="submit" size="mini"
> </el-button
>
<el-button @click="open = false"> </el-button>
</template>
</el-form-item>
</el-form>
</el-dialog>
</div>
</template>
<script>
import { listCacheName, listCacheKey, getCacheValue, clearCacheName, clearCacheKey, clearCacheAll } from "@/api/monitor/cache";
import {
listCacheName,
listCacheKey,
getCacheValue,
clearCacheName,
clearCacheKey,
clearCacheAll,
cacheAdd,
} from "@/api/monitor/cache";
export default {
name: "CacheList",
data() {
return {
form: {
cacheName: "",
remark: "",
},
rules: {
cacheName: [
{ required: true, message: "缓存名称不能为空", trigger: "blur" },
],
},
open: false,
cacheNames: [],
cacheKeys: [],
cacheForm: {},
loading: true,
subLoading: false,
nowCacheName: "",
tableHeight: window.innerHeight - 200
tableHeight: window.innerHeight - 200,
};
},
created() {
this.getCacheNames();
},
methods: {
handleUpd(row) {
this.title = "修改缓存";
this.form = {
cacheName: row.cacheName,
remark: row.remark,
};
this.open = true;
},
handelAdd() {
this.title = "新增缓存";
this.open = true;
this.form = {
cacheName: "",
remark: "",
};
},
submit() {
this.$refs["form"].validate(async (valid) => {
if (valid) {
cacheAdd(this.form).then((response) => {
this.$modal.msgSuccess("添加成功");
this.open = false;
this.getCacheNames();
});
}
});
},
/** 查询缓存名称列表 */
getCacheNames() {
this.loading = true;
listCacheName().then(response => {
listCacheName().then((response) => {
this.cacheNames = response.data;
this.loading = false;
});
@ -186,7 +271,7 @@ export default {
},
/** 清理指定名称缓存 */
handleClearCacheName(row) {
clearCacheName(row.cacheName).then(response => {
clearCacheName(row.cacheName).then((response) => {
this.$modal.msgSuccess("清理缓存名称[" + row.cacheName + "]成功");
this.getCacheKeys();
});
@ -198,7 +283,7 @@ export default {
return;
}
this.subLoading = true;
listCacheKey(cacheName).then(response => {
listCacheKey(cacheName).then((response) => {
this.cacheKeys = response.data;
this.subLoading = false;
this.nowCacheName = cacheName;
@ -211,7 +296,7 @@ export default {
},
/** 清理指定键名缓存 */
handleClearCacheKey(cacheKey) {
clearCacheKey(cacheKey).then(response => {
clearCacheKey(cacheKey).then((response) => {
this.$modal.msgSuccess("清理缓存键名[" + cacheKey + "]成功");
this.getCacheKeys();
});
@ -226,16 +311,16 @@ export default {
},
/** 查询缓存内容详细 */
handleCacheValue(cacheKey) {
getCacheValue(this.nowCacheName, cacheKey).then(response => {
getCacheValue(this.nowCacheName, cacheKey).then((response) => {
this.cacheForm = response.data;
});
},
/** 清理全部缓存 */
handleClearCacheAll() {
clearCacheAll().then(response => {
clearCacheAll().then((response) => {
this.$modal.msgSuccess("清理全部缓存成功");
});
}
},
},
};
</script>

5
acupuncture-后台/src/views/monitor/online/index.vue

@ -45,6 +45,11 @@
<span>{{ parseTime(scope.row.loginTime) }}</span>
</template>
</el-table-column>
<el-table-column label="最后访问时间" align="center" prop="lastVisitTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.lastVisitTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button

25
acupuncture-后台/src/views/monitor/server/index.vue

@ -171,6 +171,31 @@
</div>
</el-card>
</el-col>
<el-col :span="24" class="card-box">
<el-card>
<div slot="header">
<span><i class="el-icon-s-data"></i> 数据库状态</span>
</div>
<div class="el-table el-table--enable-row-hover el-table--medium">
<table cellspacing="0" style="width: 100%;">
<thead>
<tr>
<th class="el-table__cell el-table__cell is-leaf"><div class="cell">数据库类型</div></th>
<th class="el-table__cell is-leaf"><div class="cell">版本号</div></th>
<th class="el-table__cell is-leaf"><div class="cell">状态</div></th>
</tr>
</thead>
<tbody v-if="server.sysFiles">
<tr >
<td class="el-table__cell is-leaf"><div class="cell">MariaDB</div></td>
<td class="el-table__cell is-leaf"><div class="cell">10.3.23</div></td>
<td class="el-table__cell is-leaf"><div class="cell">在线</div></td>
</tr>
</tbody>
</table>
</div>
</el-card>
</el-col>
</el-row>
</div>
</template>

28
acupuncture-后台/src/views/patientFile/index.vue

@ -82,14 +82,27 @@
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple"
@click="handleDelete">删除</el-button>
</el-col>
</el-col> -->
<el-col :span="1.5">
<el-button type="info" plain icon="el-icon-bottom" size="mini"
@click="handleDownload">下载模版</el-button>
<el-button
type="info"
plain
icon="el-icon-bottom"
size="mini"
@click="handleDownload"
>下载模版</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-upload2" size="mini" @click="handleImport">导入</el-button>
</el-col> -->
<el-button
type="warning"
plain
icon="el-icon-upload2"
size="mini"
@click="handleImport"
>导入</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
@ -454,7 +467,8 @@ export default {
Authorization: "Bearer " + getToken(),
deptId: localStorage.getItem("hospitalId"),
},
uploadFileUrl1: process.env.VUE_APP_API_QZURL + "/patient/import", //
uploadFileUrl1:
process.env.VUE_APP_API_QZURL + "/admin/treatment/importTreatment", //
fileList: [],
//
educationYearsValue: {
@ -818,7 +832,7 @@ export default {
/** 下载按钮操作 */
handleDownload() {
window.open(
`${process.env.VUE_APP_API_QZURL}/profile/PatientTemplate.xlsx`
`${process.env.VUE_APP_API_QZURL}profile/PatientTemplateAdmin.xlsx`
);
// this.download1(
// "/patient/export", {},

399
acupuncture-后台/src/views/report/manage.vue

@ -1,48 +1,158 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
label-width="80px">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="80px"
>
<el-form-item label="标题" prop="reportTitle">
<el-input v-model="queryParams.param.reportTitle" placeholder="请输入" clearable
@keyup.enter.native="handleQuery" />
<el-input
v-model="queryParams.param.reportTitle"
placeholder="请输入"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple"
@click="handleDelete">删除</el-button>
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
>删除</el-button
>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="listData" @selection-change="handleSelectionChange" max-height="600">
<el-table
v-loading="loading"
:data="listData"
@selection-change="handleSelectionChange"
max-height="600"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column fixed label="标题" align="center" prop="reportTitle" min-width="100" />
<el-table-column fixed label="类型" align="center" prop="typeName" show-overflow-tooltip min-width="100">
<el-table-column
fixed
label="标题"
align="center"
prop="reportTitle"
min-width="100"
/>
<el-table-column
fixed
label="类型"
align="center"
prop="typeName"
show-overflow-tooltip
min-width="100"
>
</el-table-column>
<el-table-column fixed label="开始时间" align="center" prop="timeRangeStart" show-overflow-tooltip
min-width="100">
<el-table-column
label="单位"
align="center"
prop="tenantIdList"
min-width="250"
show-overflow-tooltip
>
<template slot-scope="scope">
<!-- 通过id列表找到tenantsData中匹配的数据并替换为中文数据后面添加逗号 -->
<template v-for="(item, index) in scope.row.tenantIdList">
<template v-if="tenantsData.some((tenant) => tenant.id === item)">
{{ tenantsData.find((tenant) => tenant.id === item).name
}}{{ index < scope.row.tenantIdList.length - 1 ? "," : "" }}
</template>
</template>
</template>
</el-table-column>
<el-table-column
fixed
label="开始时间"
align="center"
prop="timeRangeStart"
show-overflow-tooltip
min-width="100"
>
<template slot-scope="scope">
<span>
{{ parseTime(scope.row.timeRangeStart, "{y}-{m}-{d}") }}
</span>
</template>
</el-table-column>
<el-table-column fixed label="结束时间" align="center" prop="timeRangeEnd" show-overflow-tooltip
min-width="100">
<el-table-column
fixed
label="结束时间"
align="center"
prop="timeRangeEnd"
show-overflow-tooltip
min-width="100"
>
<template slot-scope="scope">
<span>
{{ parseTime(scope.row.timeRangeEnd, "{y}-{m}-{d}") }}
</span>
</template>
</el-table-column>
<el-table-column
label="状态"
align="center"
prop="status"
show-overflow-tooltip
min-width="100"
>
<template slot-scope="scope">
<span v-if="scope.row.status === 0"> 未开始 </span>
<span v-if="scope.row.status === 1"> 进行中 </span>
<span v-if="scope.row.status === 2"> 已结束 </span>
</template>
</el-table-column>
<!-- <el-table-column
label="开启/结束"
align="center"
prop="typeName"
show-overflow-tooltip
min-width="100"
>
<template slot-scope="scope">
<el-switch
v-model="scope.row.status"
active-color="#13ce66"
inactive-color="#ff4949"
></el-switch>
</template>
</el-table-column> -->
<el-table-column label="创建人/创建时间" align="center" min-width="140">
<template slot-scope="scope">
<div>{{ scope.row.createBy }}</div>
@ -51,44 +161,137 @@
</span>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" width="200">
<el-table-column
fixed="right"
label="操作"
align="center"
class-name="small-padding fixed-width"
width="150"
>
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
:disabled="scope.row.id == 1 || scope.row.id == 2">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
:disabled="scope.row.id == 1 || scope.row.id == 2">删除</el-button>
<el-button
v-if="scope.row.status === 0 || scope.row.status === 2"
size="mini"
type="text"
icon="el-icon-folder-checked"
@click="handleSwitch(scope.row, 1)"
>开启</el-button
>
<el-button
v-if="scope.row.status === 1"
size="mini"
type="text"
icon="el-icon-folder-delete"
@click="handleSwitch(scope.row, 2)"
>结束</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-document"
@click="handleDetails(scope.row)"
>上报详情</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-download"
@click="handleDownload(scope.row)"
>上报汇总表</el-button
>
<el-button
:disabled="scope.row.status === 1"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
>修改</el-button
>
<el-button
:disabled="scope.row.status === 1"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" />
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改公告对话框 -->
<el-dialog class="popup" :title="title" :visible.sync="open" width="780px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="140px" class="formStep">
<el-dialog
class="popup"
:title="title"
:visible.sync="open"
width="780px"
append-to-body
>
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="100px"
class="formStep"
>
<el-form-item label="标题" prop="reportTitle">
<el-input v-model="form.reportTitle" placeholder="请输入" />
</el-form-item>
<el-form-item label="上报类型" prop="reportType">
<el-select v-model="form.reportType" placeholder="请选择">
<el-option v-for="item in reporTypeList" :key="item.id" :label="item.typeName" :value="item.id">
<el-select
v-model="form.reportType"
placeholder="请选择"
@change="handleTypeChage"
>
<el-option
v-for="item in reporTypeList"
:key="item.id"
:label="item.typeName"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="单位" prop="tenantIdList">
<el-select v-model="form.tenantIdList" multiple placeholder="请选择">
<el-option
v-for="item in tenantsData"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="时间范围" prop="time">
<!-- <el-date-picker format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="form.timeRangeStart"
type="date" placeholder="选择日期">
</el-date-picker> -->
<el-date-picker format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="form.time" type="daterange"
range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @input="$forceUpdate()">
<el-date-picker
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
v-model="form.time"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
@input="$forceUpdate()"
>
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="结束时间" prop="timeRangeEnd">
<el-date-picker format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="form.timeRangeEnd" type="date"
placeholder="选择日期">
</el-date-picker>
</el-form-item> -->
<el-form-item label="状态" prop="status" v-if="!form.id">
<el-radio-group v-model="form.status">
<el-radio :label="0">未开始</el-radio>
<el-radio :label="1">进行中</el-radio>
<el-radio :label="2">已结束</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -104,20 +307,24 @@
managerAdd,
managerUpd,
managerDel,
reportList
reportList,
reportDown,
} from "@/api/report";
import { tenantsList } from "@/api/member";
export default {
name: "Notice",
data() {
return {
reporTypeList: [],
queryParams: {
pageNum: 1,
pageSize: 10,
param: {
reportTitle: "",
}
},
},
listData: [],
title: '',
title: "",
open: false,
total: 0,
form: {},
@ -126,21 +333,34 @@
multiple: false,
//
rules: {
reportTitle: [{
reportTitle: [
{
required: true,
message: "标题不能为空",
trigger: "blur",
}],
reportType: [{
},
],
reportType: [
{
required: true,
message: "类型不能为空",
trigger: "blur",
}],
time: [{
},
],
time: [
{
required: true,
message: "时间范围不能为空",
trigger: "change",
}]
},
],
tenantIdList: [
{
required: true,
message: "单位不能为空",
trigger: "change",
},
],
// timeRangeStart: [{
// required: true,
// message: "",
@ -152,13 +372,44 @@
// trigger: "blur"
// }],
},
tenantsData: [],
qzUrl: process.env.VUE_APP_API_QZURL, //
};
},
created() {
this.getList();
this.getReportType();
this.getTenantsList();
},
methods: {
handleDownload(row) {
reportDown({
managementId: row.id,
}).then((res) => {
if (res.data) {
window.open(this.qzUrl + res.data);
} else {
this.$modal.msgError("暂无上报汇总表");
}
});
},
//
handleDetails(row) {
this.$router.push({
path: "/medicalFile/index",
query: { managementId: row.id },
});
},
//
handleTypeChage() {
// form.reportType reporTypeList id tenantIdList
let reportType = this.form.reportType;
let tenantIdList = this.reporTypeList.find(
(item) => item.id == reportType
).tenantIdList;
this.form.tenantIdList = tenantIdList;
},
//
getReportType() {
reportList({
pageNum: -1,
@ -168,6 +419,15 @@
});
},
/** 查询公告列表 */
getTenantsList() {
tenantsList({
pageNum: -1,
param: {},
}).then((res) => {
this.tenantsData = res.data.list;
});
},
/** 查询公告列表 */
getList() {
this.loading = true;
managerQuery(this.queryParams).then((res) => {
@ -184,11 +444,13 @@
//
reset() {
this.form = {
"reportTitle": "",
"reportType": "",
reportTitle: "",
reportType: "",
time: [],
"timeRangeStart": "",
"timeRangeEnd": "",
timeRangeStart: "",
timeRangeEnd: "",
tenantIdList: [],
status: 0,
};
this.resetForm("form");
},
@ -217,24 +479,36 @@
this.title = "新增上报";
},
/** 修改按钮操作 */
handleSwitch(row, status) {
this.form = JSON.parse(JSON.stringify(row));
this.form.status = status;
managerUpd(this.form).then((response) => {
this.$modal.msgSuccess("操作成功");
this.getList();
});
},
/** 修改按钮操作 */
handleUpdate(row) {
this.open = true;
this.title = "修改上报";
this.form = JSON.parse(JSON.stringify(row))
let timeRangeStart = this.parseTime(this.form.timeRangeStart, "{y}-{m}-{d}")
let timeRangeEnd = this.parseTime(this.form.timeRangeEnd, "{y}-{m}-{d}")
this.form.time = []
this.form.time[0] = timeRangeStart
this.form.time[1] = timeRangeEnd
this.form = JSON.parse(JSON.stringify(row));
let timeRangeStart = this.parseTime(
this.form.timeRangeStart,
"{y}-{m}-{d}"
);
let timeRangeEnd = this.parseTime(this.form.timeRangeEnd, "{y}-{m}-{d}");
this.form.time = [];
this.form.time[0] = timeRangeStart;
this.form.time[1] = timeRangeEnd;
},
/** 诊疗档案 */
submitForm: function () {
this.$refs["form"].validate((valid) => {
if (valid) {
let data = JSON.parse(JSON.stringify(this.form))
let time = data.time
data.timeRangeStart = data.time[0]
data.timeRangeEnd = data.time[1]
let data = JSON.parse(JSON.stringify(this.form));
let time = data.time;
data.timeRangeStart = data.time[0];
data.timeRangeEnd = data.time[1];
if (data.id != undefined) {
managerUpd(data).then((response) => {
this.$modal.msgSuccess("修改成功");
@ -319,7 +593,8 @@
margin-right: 0;
}
.formStep1>>>.el-form-item__label {}
.formStep1 >>> .el-form-item__label {
}
.form-item-zd {
width: 100%;

309
acupuncture-后台/src/views/report/type.vue

@ -1,30 +1,119 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
label-width="80px">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="80px"
>
<el-form-item label="类型名称" prop="typeName">
<el-input v-model="queryParams.param.typeName" placeholder="请输入" clearable
@keyup.enter.native="handleQuery" />
<el-input
v-model="queryParams.param.typeName"
placeholder="请输入"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple"
@click="handleDelete">删除</el-button>
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
>删除</el-button
>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="listData" @selection-change="handleSelectionChange" max-height="600">
<el-table
v-loading="loading"
:data="listData"
@selection-change="handleSelectionChange"
max-height="600"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column fixed label="类型名称" align="center" prop="typeName" min-width="100" />
<el-table-column
fixed
label="类型名称"
align="center"
prop="typeName"
min-width="100"
show-overflow-tooltip
/>
<el-table-column
label="单位"
align="center"
prop="tenantIdList"
min-width="250"
show-overflow-tooltip
>
<template slot-scope="scope">
<!-- 通过id列表找到tenantsData中匹配的数据并替换为中文数据后面添加逗号 -->
<template v-for="(item, index) in scope.row.tenantIdList">
<template v-if="tenantsData.some((tenant) => tenant.id === item)">
{{ tenantsData.find((tenant) => tenant.id === item).name
}}{{ index < scope.row.tenantIdList.length - 1 ? "," : "" }}
</template>
</template>
</template>
</el-table-column>
<el-table-column
label="附件"
align="center"
prop="typeName"
min-width="150"
show-overflow-tooltip
>
<template slot-scope="scope">
<el-button type="text" size="mini" @click="handleDownload(scope.row)">
<span v-if="scope.row.file">
<i class="el-icon-download"></i>
<span>{{
scope.row.file.substring(scope.row.file.lastIndexOf("/") + 1)
}}</span>
</span>
</el-button>
</template>
</el-table-column>
<el-table-column
label="备注"
align="center"
prop="remark"
min-width="150"
show-overflow-tooltip
/>
<el-table-column label="创建人/创建时间" align="center" min-width="140">
<template slot-scope="scope">
<div>{{ scope.row.createBy }}</div>
@ -33,25 +122,96 @@
</span>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" width="200">
<el-table-column
fixed="right"
label="操作"
align="center"
class-name="small-padding fixed-width"
width="200"
>
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit"
@click="handleUpdate(scope.row)">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete"
@click="handleDelete(scope.row)">删除</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" />
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改公告对话框 -->
<el-dialog class="popup" :title="title" :visible.sync="open" width="780px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="90px" class="formStep">
<el-dialog
class="popup"
:title="title"
:visible.sync="open"
width="780px"
append-to-body
>
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="90px"
class="formStep"
>
<el-form-item label="类型名称" prop="typeName">
<el-input v-model="form.typeName" placeholder="请输入" />
</el-form-item>
<el-form-item label="单位" prop="tenantIdList">
<el-select v-model="form.tenantIdList" multiple placeholder="请选择">
<el-option
v-for="item in tenantsData"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="附件" prop="file">
<el-upload
:limit="1"
class="avatar-uploader wj-uploader"
:headers="headers"
:action="uploadFileUrl"
accept=".xlsx,.xls,.pdf,.doc,.docx"
:before-upload="handleBeforePdfUpload1"
:on-success="handleUploadPdfAdd1"
:on-remove="handleRemove"
:file-list="fileList"
:show-file-list="true"
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">
将文件拖到此处
<em>点击上传</em>
</div>
</el-upload>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input
type="textarea"
v-model="form.remark"
placeholder="请输入"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -62,24 +222,25 @@
</template>
<script>
import {
reportList,
reportAdd,
reportUpd,
reportDel
} from "@/api/report";
import { getToken } from "@/utils/auth";
import { tenantsList } from "@/api/member";
import { reportList, reportAdd, reportUpd, reportDel } from "@/api/report";
export default {
name: "Notice",
data() {
return {
uploadFileUrl: process.env.VUE_APP_API_QZURL + "/common/upload", //
headers: {
Authorization: "Bearer " + getToken(),
},
dataSourceList: [],
queryParams: {
param: {
name: "",
}
},
},
listData: [],
title: '',
title: "",
open: false,
total: 0,
form: {},
@ -88,18 +249,77 @@
multiple: false,
//
rules: {
typeName: [{
typeName: [
{
required: true,
message: "上报类型不能为空",
trigger: "blur",
}],
},
],
tenantIdList: [
{
required: true,
message: "单位不能为空",
trigger: "change",
},
],
file: [
{
required: true,
message: "附件不能为空",
trigger: "change",
},
],
},
tenantsData: [],
fileList: [],
qzUrl: process.env.VUE_APP_API_QZURL, //
};
},
created() {
this.getList();
this.getTenantsList();
},
methods: {
handleDownload(row) {
window.open(this.qzUrl + row.file);
},
handleRemove(file, fileList) {
this.form.file = "";
this.fileList = [];
},
// - pdg
handleUploadPdfAdd1(res) {
if (res.code == 200) {
this.$message.success(res.msg || "导入成功");
this.form.file = res.fileName;
setTimeout(() => {
this.$refs["form"].validateField("file", (errorMessage) => {});
});
} else {
this.$message.error(res.msg || "导入失败");
this.fileList = [];
}
},
// -
handleBeforePdfUpload1(file) {
const fileSuffix = file.name.substring(file.name.lastIndexOf(".") + 1);
const whiteList = ["xlsx", "xls", "pdf", "doc", "docx"];
if (whiteList.indexOf(fileSuffix) === -1) {
this.$message.error("上传文件只能是xlsx/xls/pdf/doc/docx 格式!");
return false;
}
},
/** 查询公告列表 */
getTenantsList() {
tenantsList({
pageNum: -1,
param: {},
}).then((res) => {
this.tenantsData = res.data.list;
});
},
/** 查询公告列表 */
getList() {
this.loading = true;
@ -116,8 +336,12 @@
},
//
reset() {
this.fileList = [];
this.form = {
"typeName": "",
typeName: "",
tenantIdList: [],
remark: "",
file: "",
};
this.resetForm("form");
},
@ -148,8 +372,19 @@
/** 修改按钮操作 */
handleUpdate(row) {
this.open = true;
this.title = "修改诊疗档案";
this.form = JSON.parse(JSON.stringify(row))
this.title = "修改上报类型";
this.form = JSON.parse(JSON.stringify(row));
if (row.file) {
this.fileList = [
{
//
name: row.file.substring(row.file.lastIndexOf("/") + 1),
url: row.file,
},
];
} else {
this.fileList = [];
}
},
/** 诊疗档案 */
submitForm: function () {
@ -194,6 +429,9 @@
<style scoped src="@/assets/styles/common.css"></style>
<style scoped>
>>> .el-upload-list__item:first-child {
margin-top: 0 !important;
}
.div-title1 {
font-size: 22px;
font-weight: bold;
@ -239,7 +477,8 @@
margin-right: 0;
}
.formStep1>>>.el-form-item__label {}
.formStep1 >>> .el-form-item__label {
}
.form-item-zd {
width: 100%;

256
acupuncture-后台/src/views/system/dict/data.vue

@ -1,6 +1,13 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-form-item label="字典名称" prop="dictType">
<el-select v-model="queryParams.dictType">
<el-option
@ -20,7 +27,11 @@
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="数据状态" clearable>
<el-select
v-model="queryParams.status"
placeholder="数据状态"
clearable
>
<el-option
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
@ -30,8 +41,16 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
@ -44,7 +63,8 @@
size="mini"
@click="handleAdd"
v-hasPermi="['system:dict:add']"
>新增</el-button>
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
@ -55,7 +75,8 @@
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:dict:edit']"
>修改</el-button>
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
@ -66,7 +87,8 @@
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:dict:remove']"
>删除</el-button>
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
@ -76,7 +98,8 @@
size="mini"
@click="handleExport"
v-hasPermi="['system:dict:export']"
>导出</el-button>
>导出</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
@ -85,34 +108,87 @@
icon="el-icon-close"
size="mini"
@click="handleClose"
>关闭</el-button>
>关闭</el-button
>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange">
<el-table
v-loading="loading"
:data="dataList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="字典编码" align="center" prop="dictCode" />
<el-table-column label="字典标签" align="center" prop="dictLabel">
<template slot-scope="scope">
<span v-if="(scope.row.listClass == '' || scope.row.listClass == 'default') && (scope.row.cssClass == '' || scope.row.cssClass == null)">{{ scope.row.dictLabel }}</span>
<el-tag v-else :type="scope.row.listClass == 'primary' ? '' : scope.row.listClass" :class="scope.row.cssClass">{{ scope.row.dictLabel }}</el-tag>
<span
v-if="
(scope.row.listClass == '' || scope.row.listClass == 'default') &&
(scope.row.cssClass == '' || scope.row.cssClass == null)
"
>{{ scope.row.dictLabel }}</span
>
<el-tag
v-else
:type="scope.row.listClass == 'primary' ? '' : scope.row.listClass"
:class="scope.row.cssClass"
>{{ scope.row.dictLabel }}</el-tag
>
</template>
</el-table-column>
<el-table-column label="字典键值" align="center" prop="dictValue" />
<el-table-column label="字典排序" align="center" prop="dictSort" />
<el-table-column label="数据类型" align="center" prop="dataType" />
<!-- 长度是否必填是否唯一 -->
<el-table-column label="长度" align="center" prop="dataLength" />
<el-table-column label="是否必填" align="center" width="100">
<template slot-scope="scope">
<el-tag type="info" v-if="scope.row.isRequired == 0"></el-tag>
<el-tag type="success" v-if="scope.row.isRequired == 1"></el-tag>
</template>
</el-table-column>
<el-table-column label="是否唯一" align="center" width="100">
<template slot-scope="scope">
<el-tag type="info" v-if="scope.row.isSole == 0"></el-tag>
<el-tag type="success" v-if="scope.row.isSole == 1"></el-tag>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
<dict-tag
:options="dict.type.sys_normal_disable"
:value="scope.row.status"
/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<el-table-column
label="备注"
align="center"
prop="remark"
:show-overflow-tooltip="true"
/>
<el-table-column
label="创建时间"
align="center"
prop="createTime"
width="180"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
fixed="right"
width="150"
>
<template slot-scope="scope">
<el-button
size="mini"
@ -120,14 +196,16 @@
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:dict:edit']"
>修改</el-button>
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:dict:remove']"
>删除</el-button>
>删除</el-button
>
</template>
</el-table-column>
</el-table>
@ -155,8 +233,30 @@
<el-form-item label="样式属性" prop="cssClass">
<el-input v-model="form.cssClass" placeholder="请输入样式属性" />
</el-form-item>
<el-form-item label="数据类型" prop="dataType">
<el-input v-model="form.dataType" placeholder="请输入" />
</el-form-item>
<el-form-item label="长度" prop="dataLength">
<el-input v-model="form.dataLength" placeholder="请输入长度" />
</el-form-item>
<el-form-item label="是否必填" prop="isRequired">
<el-radio-group v-model="form.isRequired">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="是否唯一" prop="isSole">
<el-radio-group v-model="form.isSole">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="显示排序" prop="dictSort">
<el-input-number v-model="form.dictSort" controls-position="right" :min="0" />
<el-input-number
v-model="form.dictSort"
controls-position="right"
:min="0"
/>
</el-form-item>
<el-form-item label="回显样式" prop="listClass">
<el-select v-model="form.listClass">
@ -174,11 +274,16 @@
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
>{{ dict.label }}</el-radio
>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
<el-input
v-model="form.remark"
type="textarea"
placeholder="请输入内容"
></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -190,12 +295,21 @@
</template>
<script>
import { listData, getData, delData, addData, updateData } from "@/api/system/dict/data";
import { optionselect as getDictOptionselect, getType } from "@/api/system/dict/type";
import {
listData,
getData,
delData,
addData,
updateData,
} from "@/api/system/dict/data";
import {
optionselect as getDictOptionselect,
getType,
} from "@/api/system/dict/type";
export default {
name: "Data",
dicts: ['sys_normal_disable'],
dicts: ["sys_normal_disable"],
data() {
return {
//
@ -222,28 +336,28 @@ export default {
listClassOptions: [
{
value: "default",
label: "默认"
label: "默认",
},
{
value: "primary",
label: "主要"
label: "主要",
},
{
value: "success",
label: "成功"
label: "成功",
},
{
value: "info",
label: "信息"
label: "信息",
},
{
value: "warning",
label: "警告"
label: "警告",
},
{
value: "danger",
label: "危险"
}
label: "危险",
},
],
//
typeOptions: [],
@ -253,22 +367,22 @@ export default {
pageSize: 10,
dictType: undefined,
dictLabel: undefined,
status: undefined
status: undefined,
},
//
form: {},
//
rules: {
dictLabel: [
{ required: true, message: "数据标签不能为空", trigger: "blur" }
{ required: true, message: "数据标签不能为空", trigger: "blur" },
],
dictValue: [
{ required: true, message: "数据键值不能为空", trigger: "blur" }
{ required: true, message: "数据键值不能为空", trigger: "blur" },
],
dictSort: [
{ required: true, message: "数据顺序不能为空", trigger: "blur" }
]
}
{ required: true, message: "数据顺序不能为空", trigger: "blur" },
],
},
};
},
created() {
@ -279,7 +393,7 @@ export default {
methods: {
/** 查询字典类型详细 */
getType(dictId) {
getType(dictId).then(response => {
getType(dictId).then((response) => {
this.queryParams.dictType = response.data.dictType;
this.defaultDictType = response.data.dictType;
this.getList();
@ -287,14 +401,14 @@ export default {
},
/** 查询字典类型列表 */
getTypeList() {
getDictOptionselect().then(response => {
getDictOptionselect().then((response) => {
this.typeOptions = response.data;
});
},
/** 查询字典数据列表 */
getList() {
this.loading = true;
listData(this.queryParams).then(response => {
listData(this.queryParams).then((response) => {
this.dataList = response.rows;
this.total = response.total;
this.loading = false;
@ -312,10 +426,14 @@ export default {
dictLabel: undefined,
dictValue: undefined,
cssClass: undefined,
listClass: 'default',
listClass: "default",
dictSort: 0,
status: "0",
remark: undefined
remark: undefined,
dataType: "",
dataLength: "",
isRequired: 1,
isSole: 1,
};
this.resetForm("form");
},
@ -344,15 +462,15 @@ export default {
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.dictCode)
this.single = selection.length!=1
this.multiple = !selection.length
this.ids = selection.map((item) => item.dictCode);
this.single = selection.length != 1;
this.multiple = !selection.length;
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const dictCode = row.dictCode || this.ids
getData(dictCode).then(response => {
const dictCode = row.dictCode || this.ids;
getData(dictCode).then((response) => {
this.form = response.data;
this.open = true;
this.title = "修改字典数据";
@ -360,18 +478,24 @@ export default {
},
/** 提交按钮 */
submitForm: function () {
this.$refs["form"].validate(valid => {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.dictCode != undefined) {
updateData(this.form).then(response => {
this.$store.dispatch('dict/removeDict', this.queryParams.dictType);
updateData(this.form).then((response) => {
this.$store.dispatch(
"dict/removeDict",
this.queryParams.dictType
);
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addData(this.form).then(response => {
this.$store.dispatch('dict/removeDict', this.queryParams.dictType);
addData(this.form).then((response) => {
this.$store.dispatch(
"dict/removeDict",
this.queryParams.dictType
);
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
@ -383,20 +507,28 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const dictCodes = row.dictCode || this.ids;
this.$modal.confirm('是否确认删除字典编码为"' + dictCodes + '"的数据项?').then(function() {
this.$modal
.confirm('是否确认删除字典编码为"' + dictCodes + '"的数据项?')
.then(function () {
return delData(dictCodes);
}).then(() => {
})
.then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
this.$store.dispatch('dict/removeDict', this.queryParams.dictType);
}).catch(() => {});
this.$store.dispatch("dict/removeDict", this.queryParams.dictType);
})
.catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('system/dict/data/export', {
...this.queryParams
}, `data_${new Date().getTime()}.xlsx`)
}
}
this.download(
"system/dict/data/export",
{
...this.queryParams,
},
`data_${new Date().getTime()}.xlsx`
);
},
},
};
</script>

2
acupuncture-后台/src/views/system/dict/index.vue

@ -168,6 +168,7 @@
</router-link>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag
@ -235,6 +236,7 @@
<el-form-item label="字典类型" prop="dictType">
<el-input v-model="form.dictType" placeholder="请输入字典类型" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio

30
acupuncture-后台/src/views/system/menu/index.vue

@ -19,6 +19,17 @@
/>
</el-select>
</el-form-item>
<el-form-item label="客户端类型" prop="status">
<el-select
v-model="queryParams.clientType"
placeholder="客户端类型"
clearable
style="width: 240px"
>
<el-option label="PC端" :value="0" />
<el-option label="移动端" :value="1" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@ -70,6 +81,12 @@
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="客户端类型" align="center" width="100">
<template slot-scope="scope">
<el-tag type="success" v-if="scope.row.clientType === 0">PC端</el-tag>
<el-tag type="info" v-if="scope.row.clientType === 1">移动端</el-tag>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
@ -278,6 +295,16 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="客户端类型">
<el-radio-group v-model="form.clientType">
<el-radio :label="0">PC端</el-radio>
<el-radio :label="1">移动端</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -389,7 +416,8 @@ export default {
isFrame: "1",
isCache: "0",
visible: "0",
status: "0"
status: "0",
clientType: 0
};
this.resetForm("form");
},

218
acupuncture-后台/src/views/system/notice/index.vue

@ -1,6 +1,13 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-form-item label="公告标题" prop="noticeTitle">
<el-input
v-model="queryParams.noticeTitle"
@ -18,7 +25,11 @@
/>
</el-form-item>
<el-form-item label="类型" prop="noticeType">
<el-select v-model="queryParams.noticeType" placeholder="公告类型" clearable>
<el-select
v-model="queryParams.noticeType"
placeholder="公告类型"
clearable
>
<el-option
v-for="dict in dict.type.sys_notice_type"
:key="dict.value"
@ -28,8 +39,16 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
@ -42,7 +61,8 @@
size="mini"
@click="handleAdd"
v-hasPermi="['system:notice:add']"
>新增</el-button>
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
@ -53,7 +73,8 @@
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:notice:edit']"
>修改</el-button>
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
@ -64,37 +85,88 @@
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:notice:remove']"
>删除</el-button>
>删除</el-button
>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="noticeList" @selection-change="handleSelectionChange">
<el-table
v-loading="loading"
:data="noticeList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" align="center" prop="noticeId" width="100" />
<el-table-column
label="序号"
align="center"
prop="noticeId"
width="100"
/>
<el-table-column
label="公告标题"
align="center"
prop="noticeTitle"
:show-overflow-tooltip="true"
/>
<el-table-column label="公告类型" align="center" prop="noticeType" width="100">
<el-table-column
label="公告类型"
align="center"
prop="noticeType"
width="100"
>
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_notice_type" :value="scope.row.noticeType"/>
<dict-tag
:options="dict.type.sys_notice_type"
:value="scope.row.noticeType"
/>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status" width="100">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_notice_status" :value="scope.row.status"/>
<dict-tag
:options="dict.type.sys_notice_status"
:value="scope.row.status"
/>
</template>
</el-table-column>
<el-table-column label="创建者" align="center" prop="createBy" width="100" />
<el-table-column label="创建时间" align="center" prop="createTime" width="100">
<el-table-column
label="创建者"
align="center"
prop="createBy"
width="100"
/>
<el-table-column
label="创建时间"
align="center"
prop="createTime"
width="100"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column
label="更新时间"
align="center"
prop="createTime"
width="140"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
<span>{{
parseTime(scope.row.updateTime, "{y}-{m}-{d} {h}:{i}")
}}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
@ -102,14 +174,16 @@
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:notice:edit']"
>修改</el-button>
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:notice:remove']"
>删除</el-button>
>删除</el-button
>
</template>
</el-table-column>
</el-table>
@ -125,13 +199,9 @@
<!-- 添加或修改公告对话框 -->
<el-dialog :title="title" :visible.sync="open" width="780px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="公告标题" prop="noticeTitle">
<el-input v-model="form.noticeTitle" placeholder="请输入公告标题" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公告类型" prop="noticeType">
<el-select v-model="form.noticeType" placeholder="请选择公告类型">
<el-option
@ -142,24 +212,35 @@
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="通知用户" prop="userIdList">
<el-select
v-model="form.userIdList"
multiple
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="item in userList"
:key="item.userId"
:label="`${item.userName}-${item.nickName}`"
:value="item.userId"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in dict.type.sys_notice_status"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
>{{ dict.label }}</el-radio
>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="内容">
<editor v-model="form.noticeContent" :min-height="192" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -170,11 +251,17 @@
</template>
<script>
import { listNotice, getNotice, delNotice, addNotice, updateNotice } from "@/api/system/notice";
import {
listNotice,
getNotice,
delNotice,
addNotice,
updateNotice,
} from "@/api/system/notice";
import { listUser } from "@/api/system/user";
export default {
name: "Notice",
dicts: ['sys_notice_status', 'sys_notice_type'],
dicts: ["sys_notice_status", "sys_notice_type"],
data() {
return {
//
@ -201,29 +288,47 @@ export default {
pageSize: 10,
noticeTitle: undefined,
createBy: undefined,
status: undefined
status: undefined,
},
//
form: {},
//
rules: {
noticeTitle: [
{ required: true, message: "公告标题不能为空", trigger: "blur" }
{ required: true, message: "公告标题不能为空", trigger: "blur" },
],
noticeType: [
{ required: true, message: "公告类型不能为空", trigger: "change" }
]
}
{ required: true, message: "公告类型不能为空", trigger: "change" },
],
userIdList: [
{ required: true, message: "通知用户不能为空", trigger: "blur" },
],
},
userList: [],
};
},
created() {
this.getList();
this.getUserList();
},
methods: {
/** 查询用户列表 */
getUserList() {
listUser({
pageNum: 1,
pageSize: 1000000,
}).then((response) => {
// userNameadmin
response.rows = response.rows.filter(
(item) => item.userName != "admin"
);
this.userList = response.rows;
});
},
/** 查询公告列表 */
getList() {
this.loading = true;
listNotice(this.queryParams).then(response => {
listNotice(this.queryParams).then((response) => {
this.noticeList = response.rows;
this.total = response.total;
this.loading = false;
@ -241,7 +346,8 @@ export default {
noticeTitle: undefined,
noticeType: undefined,
noticeContent: undefined,
status: "0"
status: "0",
userIdList: [],
};
this.resetForm("form");
},
@ -257,9 +363,9 @@ export default {
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.noticeId)
this.single = selection.length!=1
this.multiple = !selection.length
this.ids = selection.map((item) => item.noticeId);
this.single = selection.length != 1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
@ -270,8 +376,8 @@ export default {
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const noticeId = row.noticeId || this.ids
getNotice(noticeId).then(response => {
const noticeId = row.noticeId || this.ids;
getNotice(noticeId).then((response) => {
this.form = response.data;
this.open = true;
this.title = "修改公告";
@ -279,16 +385,16 @@ export default {
},
/** 提交按钮 */
submitForm: function () {
this.$refs["form"].validate(valid => {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.noticeId != undefined) {
updateNotice(this.form).then(response => {
updateNotice(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addNotice(this.form).then(response => {
addNotice(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
@ -299,14 +405,18 @@ export default {
},
/** 删除按钮操作 */
handleDelete(row) {
const noticeIds = row.noticeId || this.ids
this.$modal.confirm('是否确认删除公告编号为"' + noticeIds + '"的数据项?').then(function() {
const noticeIds = row.noticeId || this.ids;
this.$modal
.confirm('是否确认删除公告编号为"' + noticeIds + '"的数据项?')
.then(function () {
return delNotice(noticeIds);
}).then(() => {
})
.then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
}
}
})
.catch(() => {});
},
},
};
</script>

334
acupuncture-后台/src/views/system/role/index.vue

@ -1,6 +1,12 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
>
<el-form-item label="角色名称" prop="roleName">
<el-input
v-model="queryParams.roleName"
@ -34,6 +40,17 @@
/>
</el-select>
</el-form-item>
<el-form-item label="客户端类型" prop="status">
<el-select
v-model="queryParams.clientType"
placeholder="客户端类型"
clearable
style="width: 240px"
>
<el-option label="PC端" :value="0" />
<el-option label="移动端" :value="1" />
</el-select>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker
v-model="dateRange"
@ -46,8 +63,16 @@
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
@ -60,7 +85,8 @@
size="mini"
@click="handleAdd"
v-hasPermi="['system:role:add']"
>新增</el-button>
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
@ -71,7 +97,8 @@
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:role:edit']"
>修改</el-button>
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
@ -82,7 +109,8 @@
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:role:remove']"
>删除</el-button>
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
@ -92,16 +120,34 @@
size="mini"
@click="handleExport"
v-hasPermi="['system:role:export']"
>导出</el-button>
>导出</el-button
>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="roleList" @selection-change="handleSelectionChange">
<el-table
v-loading="loading"
:data="roleList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="角色编号" prop="roleId" width="120" />
<el-table-column label="角色名称" prop="roleName" :show-overflow-tooltip="true" width="150" />
<el-table-column label="权限字符" prop="roleKey" :show-overflow-tooltip="true" width="150" />
<el-table-column
label="角色名称"
prop="roleName"
:show-overflow-tooltip="true"
width="150"
/>
<el-table-column
label="权限字符"
prop="roleKey"
:show-overflow-tooltip="true"
width="150"
/>
<el-table-column label="显示顺序" prop="roleSort" width="100" />
<el-table-column label="状态" align="center" width="100">
<template slot-scope="scope">
@ -113,12 +159,27 @@
></el-switch>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<el-table-column label="客户端类型" align="center" width="100">
<template slot-scope="scope">
<el-tag type="success" v-if="scope.row.clientType === 0">PC端</el-tag>
<el-tag type="info" v-if="scope.row.clientType === 1">移动端</el-tag>
</template>
</el-table-column>
<el-table-column
label="创建时间"
align="center"
prop="createTime"
width="180"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope" v-if="scope.row.roleId !== 1">
<el-button
size="mini"
@ -126,21 +187,37 @@
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:role:edit']"
>修改</el-button>
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:role:remove']"
>删除</el-button>
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']">
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
>删除</el-button
>
<el-dropdown
size="mini"
@command="(command) => handleCommand(command, scope.row)"
v-hasPermi="['system:role:edit']"
>
<el-button size="mini" type="text" icon="el-icon-d-arrow-right"
>更多</el-button
>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="handleDataScope" icon="el-icon-circle-check"
v-hasPermi="['system:role:edit']">数据权限</el-dropdown-item>
<el-dropdown-item command="handleAuthUser" icon="el-icon-user"
v-hasPermi="['system:role:edit']">分配用户</el-dropdown-item>
<el-dropdown-item
command="handleDataScope"
icon="el-icon-circle-check"
v-hasPermi="['system:role:edit']"
>数据权限</el-dropdown-item
>
<el-dropdown-item
command="handleAuthUser"
icon="el-icon-user"
v-hasPermi="['system:role:edit']"
>分配用户</el-dropdown-item
>
</el-dropdown-menu>
</el-dropdown>
</template>
@ -163,7 +240,10 @@
</el-form-item>
<el-form-item prop="roleKey">
<span slot="label">
<el-tooltip content="控制器中定义的权限字符,如:@PreAuthorize(`@ss.hasRole('admin')`)" placement="top">
<el-tooltip
content="控制器中定义的权限字符,如:@PreAuthorize(`@ss.hasRole('admin')`)"
placement="top"
>
<i class="el-icon-question"></i>
</el-tooltip>
权限字符
@ -171,7 +251,11 @@
<el-input v-model="form.roleKey" placeholder="请输入权限字符" />
</el-form-item>
<el-form-item label="角色顺序" prop="roleSort">
<el-input-number v-model="form.roleSort" controls-position="right" :min="0" />
<el-input-number
v-model="form.roleSort"
controls-position="right"
:min="0"
/>
</el-form-item>
<el-form-item label="状态">
<el-radio-group v-model="form.status">
@ -179,13 +263,32 @@
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
>{{ dict.label }}</el-radio
>
</el-radio-group>
</el-form-item>
<el-form-item label="客户端类型">
<el-radio-group v-model="form.clientType">
<el-radio :label="0">PC端</el-radio>
<el-radio :label="1">移动端</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="菜单权限">
<el-checkbox v-model="menuExpand" @change="handleCheckedTreeExpand($event, 'menu')">展开/折叠</el-checkbox>
<el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll($event, 'menu')">全选/全不选</el-checkbox>
<el-checkbox v-model="form.menuCheckStrictly" @change="handleCheckedTreeConnect($event, 'menu')">父子联动</el-checkbox>
<el-checkbox
v-model="menuExpand"
@change="handleCheckedTreeExpand($event, 'menu')"
>展开/折叠</el-checkbox
>
<el-checkbox
v-model="menuNodeAll"
@change="handleCheckedTreeNodeAll($event, 'menu')"
>全选/全不选</el-checkbox
>
<el-checkbox
v-model="form.menuCheckStrictly"
@change="handleCheckedTreeConnect($event, 'menu')"
>父子联动</el-checkbox
>
<el-tree
class="tree-border"
:data="menuOptions"
@ -198,7 +301,11 @@
></el-tree>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
<el-input
v-model="form.remark"
type="textarea"
placeholder="请输入内容"
></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -208,7 +315,12 @@
</el-dialog>
<!-- 分配角色数据权限对话框 -->
<el-dialog :title="title" :visible.sync="openDataScope" width="500px" append-to-body>
<el-dialog
:title="title"
:visible.sync="openDataScope"
width="500px"
append-to-body
>
<el-form :model="form" label-width="80px">
<el-form-item label="角色名称">
<el-input v-model="form.roleName" :disabled="true" />
@ -227,9 +339,21 @@
</el-select>
</el-form-item>
<el-form-item label="数据权限" v-show="form.dataScope == 2">
<el-checkbox v-model="deptExpand" @change="handleCheckedTreeExpand($event, 'dept')">展开/折叠</el-checkbox>
<el-checkbox v-model="deptNodeAll" @change="handleCheckedTreeNodeAll($event, 'dept')">全选/全不选</el-checkbox>
<el-checkbox v-model="form.deptCheckStrictly" @change="handleCheckedTreeConnect($event, 'dept')">父子联动</el-checkbox>
<el-checkbox
v-model="deptExpand"
@change="handleCheckedTreeExpand($event, 'dept')"
>展开/折叠</el-checkbox
>
<el-checkbox
v-model="deptNodeAll"
@change="handleCheckedTreeNodeAll($event, 'dept')"
>全选/全不选</el-checkbox
>
<el-checkbox
v-model="form.deptCheckStrictly"
@change="handleCheckedTreeConnect($event, 'dept')"
>父子联动</el-checkbox
>
<el-tree
class="tree-border"
:data="deptOptions"
@ -252,12 +376,24 @@
</template>
<script>
import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role";
import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu";
import {
listRole,
getRole,
delRole,
addRole,
updateRole,
dataScope,
changeRoleStatus,
deptTreeSelect,
} from "@/api/system/role";
import {
treeselect as menuTreeselect,
roleMenuTreeselect,
} from "@/api/system/menu";
export default {
name: "Role",
dicts: ['sys_normal_disable'],
dicts: ["sys_normal_disable"],
data() {
return {
//
@ -290,24 +426,24 @@ export default {
dataScopeOptions: [
{
value: "1",
label: "全部数据权限"
label: "全部数据权限",
},
{
value: "2",
label: "自定数据权限"
label: "自定数据权限",
},
{
value: "3",
label: "本部门数据权限"
label: "本部门数据权限",
},
{
value: "4",
label: "本部门及以下数据权限"
label: "本部门及以下数据权限",
},
{
value: "5",
label: "仅本人数据权限"
}
label: "仅本人数据权限",
},
],
//
menuOptions: [],
@ -319,26 +455,26 @@ export default {
pageSize: 10,
roleName: undefined,
roleKey: undefined,
status: undefined
status: undefined,
},
//
form: {},
defaultProps: {
children: "children",
label: "label"
label: "label",
},
//
rules: {
roleName: [
{ required: true, message: "角色名称不能为空", trigger: "blur" }
{ required: true, message: "角色名称不能为空", trigger: "blur" },
],
roleKey: [
{ required: true, message: "权限字符不能为空", trigger: "blur" }
{ required: true, message: "权限字符不能为空", trigger: "blur" },
],
roleSort: [
{ required: true, message: "角色顺序不能为空", trigger: "blur" }
]
}
{ required: true, message: "角色顺序不能为空", trigger: "blur" },
],
},
};
},
created() {
@ -348,7 +484,8 @@ export default {
/** 查询角色列表 */
getList() {
this.loading = true;
listRole(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
listRole(this.addDateRange(this.queryParams, this.dateRange)).then(
(response) => {
this.roleList = response.rows;
this.total = response.total;
this.loading = false;
@ -357,7 +494,7 @@ export default {
},
/** 查询菜单树结构 */
getMenuTreeselect() {
menuTreeselect().then(response => {
menuTreeselect().then((response) => {
this.menuOptions = response.data;
});
},
@ -381,14 +518,14 @@ export default {
},
/** 根据角色ID查询菜单树结构 */
getRoleMenuTreeselect(roleId) {
return roleMenuTreeselect(roleId).then(response => {
return roleMenuTreeselect(roleId).then((response) => {
this.menuOptions = response.menus;
return response;
});
},
/** 根据角色ID查询部门树结构 */
getDeptTree(roleId) {
return deptTreeSelect(roleId).then(response => {
return deptTreeSelect(roleId).then((response) => {
this.deptOptions = response.depts;
return response;
});
@ -396,11 +533,15 @@ export default {
//
handleStatusChange(row) {
let text = row.status === "0" ? "启用" : "停用";
this.$modal.confirm('确认要"' + text + '""' + row.roleName + '"角色吗?').then(function() {
this.$modal
.confirm('确认要"' + text + '""' + row.roleName + '"角色吗?')
.then(function () {
return changeRoleStatus(row.roleId, row.status);
}).then(() => {
})
.then(() => {
this.$modal.msgSuccess(text + "成功");
}).catch(function() {
})
.catch(function () {
row.status = row.status === "0" ? "1" : "0";
});
},
@ -419,11 +560,11 @@ export default {
if (this.$refs.menu != undefined) {
this.$refs.menu.setCheckedKeys([]);
}
this.menuExpand = false,
this.menuNodeAll = false,
this.deptExpand = true,
this.deptNodeAll = false,
this.form = {
(this.menuExpand = false),
(this.menuNodeAll = false),
(this.deptExpand = true),
(this.deptNodeAll = false),
(this.form = {
roleId: undefined,
roleName: undefined,
roleKey: undefined,
@ -433,8 +574,9 @@ export default {
deptIds: [],
menuCheckStrictly: true,
deptCheckStrictly: true,
remark: undefined
};
remark: undefined,
clientType: 0,
});
this.resetForm("form");
},
/** 搜索按钮操作 */
@ -450,9 +592,9 @@ export default {
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.roleId)
this.single = selection.length!=1
this.multiple = !selection.length
this.ids = selection.map((item) => item.roleId);
this.single = selection.length != 1;
this.multiple = !selection.length;
},
//
handleCommand(command, row) {
@ -469,12 +611,12 @@ export default {
},
// /
handleCheckedTreeExpand(value, type) {
if (type == 'menu') {
if (type == "menu") {
let treeList = this.menuOptions;
for (let i = 0; i < treeList.length; i++) {
this.$refs.menu.store.nodesMap[treeList[i].id].expanded = value;
}
} else if (type == 'dept') {
} else if (type == "dept") {
let treeList = this.deptOptions;
for (let i = 0; i < treeList.length; i++) {
this.$refs.dept.store.nodesMap[treeList[i].id].expanded = value;
@ -483,17 +625,17 @@ export default {
},
// /
handleCheckedTreeNodeAll(value, type) {
if (type == 'menu') {
if (type == "menu") {
this.$refs.menu.setCheckedNodes(value ? this.menuOptions : []);
} else if (type == 'dept') {
} else if (type == "dept") {
this.$refs.dept.setCheckedNodes(value ? this.deptOptions : []);
}
},
//
handleCheckedTreeConnect(value, type) {
if (type == 'menu') {
if (type == "menu") {
this.form.menuCheckStrictly = value ? true : false;
} else if (type == 'dept') {
} else if (type == "dept") {
this.form.deptCheckStrictly = value ? true : false;
}
},
@ -507,19 +649,19 @@ export default {
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const roleId = row.roleId || this.ids
const roleId = row.roleId || this.ids;
const roleMenu = this.getRoleMenuTreeselect(roleId);
getRole(roleId).then(response => {
getRole(roleId).then((response) => {
this.form = response.data;
this.open = true;
this.$nextTick(() => {
roleMenu.then(res => {
let checkedKeys = res.checkedKeys
roleMenu.then((res) => {
let checkedKeys = res.checkedKeys;
checkedKeys.forEach((v) => {
this.$nextTick(() => {
this.$refs.menu.setChecked(v, true, false);
})
})
});
});
});
});
});
@ -527,7 +669,7 @@ export default {
},
/** 选择角色权限范围触发 */
dataScopeSelectChange(value) {
if(value !== '2') {
if (value !== "2") {
this.$refs.dept.setCheckedKeys([]);
}
},
@ -535,11 +677,11 @@ export default {
handleDataScope(row) {
this.reset();
const deptTreeSelect = this.getDeptTree(row.roleId);
getRole(row.roleId).then(response => {
getRole(row.roleId).then((response) => {
this.form = response.data;
this.openDataScope = true;
this.$nextTick(() => {
deptTreeSelect.then(res => {
deptTreeSelect.then((res) => {
this.$refs.dept.setCheckedKeys(res.checkedKeys);
});
});
@ -553,18 +695,18 @@ export default {
},
/** 提交按钮 */
submitForm: function () {
this.$refs["form"].validate(valid => {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.roleId != undefined) {
this.form.menuIds = this.getMenuAllCheckedKeys();
updateRole(this.form).then(response => {
updateRole(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
this.form.menuIds = this.getMenuAllCheckedKeys();
addRole(this.form).then(response => {
addRole(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
@ -577,7 +719,7 @@ export default {
submitDataScope: function () {
if (this.form.roleId != undefined) {
this.form.deptIds = this.getDeptAllCheckedKeys();
dataScope(this.form).then(response => {
dataScope(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.openDataScope = false;
this.getList();
@ -587,19 +729,27 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const roleIds = row.roleId || this.ids;
this.$modal.confirm('是否确认删除角色编号为"' + roleIds + '"的数据项?').then(function() {
this.$modal
.confirm('是否确认删除角色编号为"' + roleIds + '"的数据项?')
.then(function () {
return delRole(roleIds);
}).then(() => {
})
.then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
})
.catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('system/role/export', {
...this.queryParams
}, `role_${new Date().getTime()}.xlsx`)
}
}
this.download(
"system/role/export",
{
...this.queryParams,
},
`role_${new Date().getTime()}.xlsx`
);
},
},
};
</script>

BIN
acupuncture-后台/南宁后台ssl-3.zip → acupuncture-后台/南宁针灸后台ssl-4.zip

Binary file not shown.
Loading…
Cancel
Save