|
@@ -143,6 +143,7 @@ public class ColumnResultManagementFacade {
|
|
|
* @return: 是否成功
|
|
|
*/
|
|
|
public Boolean updateColumnResult(UpdateColumnResultVO updateColumnResultVO) {
|
|
|
+ Long principleId = SysUserUtils.getCurrentPrincipleId();
|
|
|
ColumnResult columnResultFacadeById = columnResultFacade.getById(updateColumnResultVO.getId());
|
|
|
//先修改副表
|
|
|
//非空校验结果表
|
|
@@ -154,6 +155,7 @@ public class ColumnResultManagementFacade {
|
|
|
.eq("id", resultId)
|
|
|
.set("description", updateColumnResultVO.getDescription())
|
|
|
.set("gmt_modified", new Date())
|
|
|
+ .set("modifier", principleId)
|
|
|
);
|
|
|
}
|
|
|
//正则校验结果表
|
|
@@ -163,6 +165,7 @@ public class ColumnResultManagementFacade {
|
|
|
.eq("id", resultId)
|
|
|
.set("description", updateColumnResultVO.getDescription())
|
|
|
.set("gmt_modified", new Date())
|
|
|
+ .set("modifier", principleId)
|
|
|
);
|
|
|
}
|
|
|
//关键字校验结果表
|
|
@@ -172,6 +175,7 @@ public class ColumnResultManagementFacade {
|
|
|
.eq("id", resultId)
|
|
|
.set("description", updateColumnResultVO.getDescription())
|
|
|
.set("gmt_modified", new Date())
|
|
|
+ .set("modifier", principleId)
|
|
|
);
|
|
|
}
|
|
|
|
|
@@ -180,6 +184,7 @@ public class ColumnResultManagementFacade {
|
|
|
.eq("id", updateColumnResultVO.getId())
|
|
|
.set("description", updateColumnResultVO.getDescription())
|
|
|
.set("gmt_modified", new Date())
|
|
|
+ .set("modifier", principleId)
|
|
|
);
|
|
|
}
|
|
|
|
|
@@ -251,27 +256,32 @@ public class ColumnResultManagementFacade {
|
|
|
*/
|
|
|
public Boolean dataCheck(DataCheckVO dataCheckVO) {
|
|
|
List<String> behospitalCodeList = new ArrayList<>();
|
|
|
- Long currentHospitalId = SysUserUtils.getCurrentHospitalId();
|
|
|
- dataCheckVO.setHospitalId(currentHospitalId);
|
|
|
+ Long hospitalId = null;
|
|
|
+ Long principleId = null;
|
|
|
+ if(dataCheckVO.getHospitalId()==null){
|
|
|
+ hospitalId=SysUserUtils.getCurrentHospitalId();
|
|
|
+ principleId=SysUserUtils.getCurrentPrincipleId();
|
|
|
+ }
|
|
|
+ dataCheckVO.setHospitalId(hospitalId);
|
|
|
String behospitalCode = dataCheckVO.getBehospitalCode();
|
|
|
//传入BehospitalCode 只针对单个病历进行校验
|
|
|
if (StringUtil.isNotEmpty(behospitalCode)) {
|
|
|
List<BehospitalInfo> behospitalInfos = behospitalInfoFacade.getBaseMapper().selectList(new QueryWrapper<BehospitalInfo>()
|
|
|
.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
.eq("behospital_code", dataCheckVO.getBehospitalCode())
|
|
|
- .eq("hospital_id", dataCheckVO.getHospitalId())
|
|
|
+ .eq(hospitalId!=null,"hospital_id", hospitalId)
|
|
|
);
|
|
|
if (ListUtil.isEmpty(behospitalInfos)) {
|
|
|
Asserts.fail("该患者信息未查询到!");
|
|
|
}
|
|
|
behospitalCodeList.add(behospitalCode);
|
|
|
//对于集合病历所有校验规则校验其表信息字段
|
|
|
- checkTableColumnVal(behospitalCodeList);
|
|
|
+ checkTableColumnVal(behospitalCodeList,hospitalId,principleId);
|
|
|
}
|
|
|
//对于只传时间不传病历的情况
|
|
|
//创建一个病历集合
|
|
|
if (StringUtil.isEmpty(behospitalCode)) {
|
|
|
- List<BehospitalInfo> behospitalInfos = getBehospitalInfos(dataCheckVO.getDateStart(), dataCheckVO.getDateEnd(), dataCheckVO.getHospitalId());
|
|
|
+ List<BehospitalInfo> behospitalInfos = getBehospitalInfos(dataCheckVO.getDateStart(), dataCheckVO.getDateEnd(), hospitalId);
|
|
|
if (ListUtil.isEmpty(behospitalInfos)) {
|
|
|
Asserts.fail("该时间段无病历信息!");
|
|
|
}
|
|
@@ -280,7 +290,7 @@ public class ColumnResultManagementFacade {
|
|
|
behospitalCodeList.add(behospitalInfo.getBehospitalCode());
|
|
|
}
|
|
|
//对于集合病历所有校验规则校验其表信息字段
|
|
|
- checkTableColumnVal(behospitalCodeList);
|
|
|
+ checkTableColumnVal(behospitalCodeList,hospitalId,principleId);
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
@@ -292,24 +302,23 @@ public class ColumnResultManagementFacade {
|
|
|
* @param behospitalCodeList
|
|
|
* @return: 具体数据
|
|
|
*/
|
|
|
- public void checkTableColumnVal(List<String> behospitalCodeList) {
|
|
|
+ public void checkTableColumnVal(List<String> behospitalCodeList,Long hospitalId,Long principleId) {
|
|
|
//先获取非空的所有字段校验规则
|
|
|
List<NonnullInfo> nonnullInfos = getNonnullInfo();
|
|
|
- Long hospitalId = SysUserUtils.getCurrentHospitalId();
|
|
|
if (ListUtil.isNotEmpty(nonnullInfos)) {
|
|
|
//调用校验非空规则方法
|
|
|
- checkNonnull(nonnullInfos, behospitalCodeList, hospitalId);
|
|
|
+ checkNonnull(nonnullInfos, behospitalCodeList, hospitalId,principleId);
|
|
|
}
|
|
|
//获取正则所有字段校验规则
|
|
|
List<GetRegular> regularMappings = getRegularMapping();
|
|
|
if (ListUtil.isNotEmpty(regularMappings)) {
|
|
|
//调用校验正则规则
|
|
|
- checkRegular(regularMappings, behospitalCodeList, hospitalId);
|
|
|
+ checkRegular(regularMappings, behospitalCodeList, hospitalId,principleId);
|
|
|
}
|
|
|
//获取字段校验的标准值规则
|
|
|
List<GetStandardvalueInfoDTO> standardvalueInfo = getStandardvalueInfo();
|
|
|
if (ListUtil.isNotEmpty(standardvalueInfo)) {
|
|
|
- checkStandardvalue(standardvalueInfo, behospitalCodeList, hospitalId);
|
|
|
+ checkStandardvalue(standardvalueInfo, behospitalCodeList, hospitalId,principleId);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -319,8 +328,8 @@ public class ColumnResultManagementFacade {
|
|
|
* @param
|
|
|
* @return: 具体数据
|
|
|
*/
|
|
|
- public void taskCheckTableColumnVal() {
|
|
|
- Long hospitalId = SysUserUtils.getCurrentHospitalId();
|
|
|
+ public void taskCheckTableColumnVal(Long hospitalId) {
|
|
|
+ Long principleId = null;
|
|
|
List<NonnullInfo> nonnullInfoList = new ArrayList<>();
|
|
|
List<GetRegular> regularList = new ArrayList<>();
|
|
|
List<GetStandardvalueInfoDTO> standardvalueList = new ArrayList<>();
|
|
@@ -381,17 +390,17 @@ public class ColumnResultManagementFacade {
|
|
|
//非空校验规则今天有修改
|
|
|
if (ListUtil.isNotEmpty(nonnullInfoList)) {
|
|
|
//调用校验非空规则方法
|
|
|
- checkNonnull(nonnullInfos, behospitalCodeList, hospitalId);
|
|
|
+ checkNonnull(nonnullInfos, behospitalCodeList, hospitalId,principleId);
|
|
|
}
|
|
|
//正则校验规则今天有修改
|
|
|
if (ListUtil.isNotEmpty(regularList)) {
|
|
|
//调用校验正则规则
|
|
|
- checkRegular(regularMappings, behospitalCodeList, hospitalId);
|
|
|
+ checkRegular(regularMappings, behospitalCodeList, hospitalId,principleId);
|
|
|
}
|
|
|
//标准值校验规则今天有修改
|
|
|
if (ListUtil.isNotEmpty(standardvalueList)) {
|
|
|
//调用校验正则规则
|
|
|
- checkStandardvalue(standardvalueInfo, behospitalCodeList, hospitalId);
|
|
|
+ checkStandardvalue(standardvalueInfo, behospitalCodeList, hospitalId,principleId);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -453,7 +462,7 @@ public class ColumnResultManagementFacade {
|
|
|
* @param hospitalId
|
|
|
* @return:
|
|
|
*/
|
|
|
- public void checkNonnull(List<NonnullInfo> nonnullInfos, List<String> behospitalCodeList, Long hospitalId) {
|
|
|
+ public void checkNonnull(List<NonnullInfo> nonnullInfos, List<String> behospitalCodeList, Long hospitalId,Long principleId) {
|
|
|
for (NonnullInfo nonnullInfo : nonnullInfos) {
|
|
|
Long columnId = nonnullInfo.getColumnId();
|
|
|
ColumnInfo columnInfo = columnInfoFacade.getBaseMapper().selectById(columnId);
|
|
@@ -503,6 +512,9 @@ public class ColumnResultManagementFacade {
|
|
|
nonnullResult.setTableEname(columnInfo.getTableEname());
|
|
|
nonnullResult.setColumnCname(columnInfo.getColumnCname());
|
|
|
nonnullResult.setColumnEname(columnInfo.getColumnEname());
|
|
|
+ if(principleId!=null) {
|
|
|
+ nonnullResult.setCreator(principleId.toString());
|
|
|
+ }
|
|
|
nonnullResult.setTableId(getTableColumnInfoDTO.getTableId());
|
|
|
nonnullResult.setIsSolved(SolvedStatusEnum.NOT_SOLVED.getKey());
|
|
|
nonnullResult.setSolveTime(new Date());
|
|
@@ -512,7 +524,7 @@ public class ColumnResultManagementFacade {
|
|
|
nonnullResultFacade.getBaseMapper().insert(nonnullResult);
|
|
|
Long id = nonnullResult.getId();
|
|
|
//加入总结果表
|
|
|
- addColumnResult(getTableColumnInfoDTO, columnInfo, columnId, id, ColumnResultTypeEnum.NONNULL_TYPE.getKey());
|
|
|
+ addColumnResult(getTableColumnInfoDTO, columnInfo, columnId, id, ColumnResultTypeEnum.NONNULL_TYPE.getKey(),principleId);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -526,7 +538,7 @@ public class ColumnResultManagementFacade {
|
|
|
* @param hospitalId
|
|
|
* @return:
|
|
|
*/
|
|
|
- public void checkRegular(List<GetRegular> regularMappings, List<String> behospitalCodeList, Long hospitalId) {
|
|
|
+ public void checkRegular(List<GetRegular> regularMappings, List<String> behospitalCodeList, Long hospitalId,Long principleId) {
|
|
|
for (GetRegular getRegular : regularMappings) {
|
|
|
Long columnId = getRegular.getColumnId();
|
|
|
ColumnInfo columnInfo = columnInfoFacade.getBaseMapper().selectById(columnId);
|
|
@@ -573,12 +585,14 @@ public class ColumnResultManagementFacade {
|
|
|
regularResult.setBehospitalDate(getTableColumnInfoDTO.getBehospitalDate());
|
|
|
regularResult.setHospitalDataCode(getTableColumnInfoDTO.getNumberId());
|
|
|
regularResult.setRegularId(getRegular.getId());
|
|
|
+ if(principleId!=null) {
|
|
|
+ regularResult.setCreator(principleId.toString());
|
|
|
+ }
|
|
|
regularResult.setRegularName(getRegular.getName());
|
|
|
regularResult.setBehospitalDate(getTableColumnInfoDTO.getBehospitalDate());
|
|
|
regularResult.setRegularVal(getRegular.getVal());
|
|
|
regularResult.setRegularDes(getRegular.getDes());
|
|
|
regularResult.setTableId(getTableColumnInfoDTO.getTableId());
|
|
|
- regularResult.setTableVal(getTableColumnInfoDTO.getVal());
|
|
|
regularResult.setIsSolved(SolvedStatusEnum.NOT_SOLVED.getKey());
|
|
|
regularResult.setSolveTime(new Date());
|
|
|
regularResult.setIsAudited(AuditStatusEnum.NOT_AUDIT.getKey());
|
|
@@ -587,7 +601,7 @@ public class ColumnResultManagementFacade {
|
|
|
regularResultFacade.getBaseMapper().insert(regularResult);
|
|
|
Long id = regularResult.getId();
|
|
|
//加入总结果表
|
|
|
- addColumnResult(getTableColumnInfoDTO, columnInfo, columnId, id, ColumnResultTypeEnum.REGULAR_TYPE.getKey());
|
|
|
+ addColumnResult(getTableColumnInfoDTO, columnInfo, columnId, id, ColumnResultTypeEnum.REGULAR_TYPE.getKey(),principleId);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -601,7 +615,7 @@ public class ColumnResultManagementFacade {
|
|
|
* @param hospitalId
|
|
|
* @return:
|
|
|
*/
|
|
|
- public void checkStandardvalue(List<GetStandardvalueInfoDTO> standardvalueInfos, List<String> behospitalCodeList, Long hospitalId) {
|
|
|
+ public void checkStandardvalue(List<GetStandardvalueInfoDTO> standardvalueInfos, List<String> behospitalCodeList, Long hospitalId,Long principleId) {
|
|
|
for (GetStandardvalueInfoDTO standardvalueInfo : standardvalueInfos) {
|
|
|
Long columnId = standardvalueInfo.getColumnId();
|
|
|
ColumnInfo columnInfo = columnInfoFacade.getBaseMapper().selectById(columnId);
|
|
@@ -651,8 +665,10 @@ public class ColumnResultManagementFacade {
|
|
|
standardvalueResult.setColumnCname(columnInfo.getColumnCname());
|
|
|
standardvalueResult.setColumnEname(columnInfo.getColumnEname());
|
|
|
standardvalueResult.setHospitalDataCode(getTableColumnInfoDTO.getNumberId());
|
|
|
+ if(principleId!=null) {
|
|
|
+ standardvalueResult.setCreator(principleId.toString());
|
|
|
+ }
|
|
|
standardvalueResult.setTableId(getTableColumnInfoDTO.getTableId());
|
|
|
- standardvalueResult.setTableVal(getTableColumnInfoDTO.getVal());
|
|
|
standardvalueResult.setIsSolved(SolvedStatusEnum.NOT_SOLVED.getKey());
|
|
|
standardvalueResult.setSolveTime(new Date());
|
|
|
standardvalueResult.setIsAudited(AuditStatusEnum.NOT_AUDIT.getKey());
|
|
@@ -661,7 +677,7 @@ public class ColumnResultManagementFacade {
|
|
|
standardvalueResultFacade.getBaseMapper().insert(standardvalueResult);
|
|
|
Long id = standardvalueResult.getId();
|
|
|
//加入总结果表
|
|
|
- addColumnResult(getTableColumnInfoDTO, columnInfo, columnId, id, ColumnResultTypeEnum.STANDARD_TYPE.getKey());
|
|
|
+ addColumnResult(getTableColumnInfoDTO, columnInfo, columnId, id, ColumnResultTypeEnum.STANDARD_TYPE.getKey(),principleId);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -795,7 +811,7 @@ public class ColumnResultManagementFacade {
|
|
|
* @param type
|
|
|
* @return:
|
|
|
*/
|
|
|
- public void addColumnResult(GetTableColumnInfoDTO getTableColumnInfoDTO, ColumnInfo columnInfo, Long columnId, Long id, String type) {
|
|
|
+ public void addColumnResult(GetTableColumnInfoDTO getTableColumnInfoDTO, ColumnInfo columnInfo, Long columnId, Long id, String type,Long principleId) {
|
|
|
ColumnResult columnResult = new ColumnResult();
|
|
|
columnResult.setHospitalId(getTableColumnInfoDTO.getHospitalId());
|
|
|
columnResult.setBehospitalCode(getTableColumnInfoDTO.getBehospitalCode());
|
|
@@ -805,13 +821,15 @@ public class ColumnResultManagementFacade {
|
|
|
columnResult.setHosptialDatatmpName(getTableColumnInfoDTO.getModeName());
|
|
|
columnResult.setHospitalDataCode(getTableColumnInfoDTO.getNumberId());
|
|
|
columnResult.setColumnId(columnId);
|
|
|
+ if(principleId!=null) {
|
|
|
+ columnResult.setCreator(principleId.toString());
|
|
|
+ }
|
|
|
columnResult.setBehospitalDate(getTableColumnInfoDTO.getBehospitalDate());
|
|
|
columnResult.setTableCname(columnInfo.getTableCname());
|
|
|
columnResult.setTableEname(columnInfo.getTableEname());
|
|
|
columnResult.setColumnCname(columnInfo.getColumnCname());
|
|
|
columnResult.setColumnEname(columnInfo.getColumnEname());
|
|
|
columnResult.setTableId(getTableColumnInfoDTO.getTableId());
|
|
|
- columnResult.setTableVal(getTableColumnInfoDTO.getVal());
|
|
|
//数据缺失
|
|
|
if (ColumnResultTypeEnum.NONNULL_TYPE.getKey().equals(type)) {
|
|
|
columnResult.setType(ColumnResultTypeEnum.NONNULL_TYPE.getKey());
|