|
@@ -262,6 +262,8 @@ public class ColumnResultManagementFacade {
|
|
hospitalId=SysUserUtils.getCurrentHospitalId();
|
|
hospitalId=SysUserUtils.getCurrentHospitalId();
|
|
principleId=SysUserUtils.getCurrentPrincipleId();
|
|
principleId=SysUserUtils.getCurrentPrincipleId();
|
|
}
|
|
}
|
|
|
|
+ //获取所有包含rec_id的表名
|
|
|
|
+ List<String> recColumnTable = getRecColumnTable();
|
|
dataCheckVO.setHospitalId(hospitalId);
|
|
dataCheckVO.setHospitalId(hospitalId);
|
|
String behospitalCode = dataCheckVO.getBehospitalCode();
|
|
String behospitalCode = dataCheckVO.getBehospitalCode();
|
|
//传入BehospitalCode 只针对单个病历进行校验
|
|
//传入BehospitalCode 只针对单个病历进行校验
|
|
@@ -276,7 +278,7 @@ public class ColumnResultManagementFacade {
|
|
}
|
|
}
|
|
behospitalCodeList.add(behospitalCode);
|
|
behospitalCodeList.add(behospitalCode);
|
|
//对于集合病历所有校验规则校验其表信息字段
|
|
//对于集合病历所有校验规则校验其表信息字段
|
|
- checkTableColumnVal(behospitalCodeList,hospitalId,principleId);
|
|
|
|
|
|
+ checkTableColumnVal(behospitalCodeList,hospitalId,principleId,recColumnTable);
|
|
}
|
|
}
|
|
//对于只传时间不传病历的情况
|
|
//对于只传时间不传病历的情况
|
|
//创建一个病历集合
|
|
//创建一个病历集合
|
|
@@ -290,7 +292,7 @@ public class ColumnResultManagementFacade {
|
|
behospitalCodeList.add(behospitalInfo.getBehospitalCode());
|
|
behospitalCodeList.add(behospitalInfo.getBehospitalCode());
|
|
}
|
|
}
|
|
//对于集合病历所有校验规则校验其表信息字段
|
|
//对于集合病历所有校验规则校验其表信息字段
|
|
- checkTableColumnVal(behospitalCodeList,hospitalId,principleId);
|
|
|
|
|
|
+ checkTableColumnVal(behospitalCodeList,hospitalId,principleId,recColumnTable);
|
|
}
|
|
}
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
@@ -302,23 +304,23 @@ public class ColumnResultManagementFacade {
|
|
* @param behospitalCodeList
|
|
* @param behospitalCodeList
|
|
* @return: 具体数据
|
|
* @return: 具体数据
|
|
*/
|
|
*/
|
|
- public void checkTableColumnVal(List<String> behospitalCodeList,Long hospitalId,Long principleId) {
|
|
|
|
|
|
+ public void checkTableColumnVal(List<String> behospitalCodeList,Long hospitalId,Long principleId,List<String> recColumnTable) {
|
|
//先获取非空的所有字段校验规则
|
|
//先获取非空的所有字段校验规则
|
|
List<NonnullInfo> nonnullInfos = getNonnullInfo();
|
|
List<NonnullInfo> nonnullInfos = getNonnullInfo();
|
|
if (ListUtil.isNotEmpty(nonnullInfos)) {
|
|
if (ListUtil.isNotEmpty(nonnullInfos)) {
|
|
//调用校验非空规则方法
|
|
//调用校验非空规则方法
|
|
- checkNonnull(nonnullInfos, behospitalCodeList, hospitalId,principleId);
|
|
|
|
|
|
+ checkNonnull(nonnullInfos, behospitalCodeList, hospitalId,principleId,recColumnTable);
|
|
}
|
|
}
|
|
//获取正则所有字段校验规则
|
|
//获取正则所有字段校验规则
|
|
List<GetRegular> regularMappings = getRegularMapping();
|
|
List<GetRegular> regularMappings = getRegularMapping();
|
|
if (ListUtil.isNotEmpty(regularMappings)) {
|
|
if (ListUtil.isNotEmpty(regularMappings)) {
|
|
//调用校验正则规则
|
|
//调用校验正则规则
|
|
- checkRegular(regularMappings, behospitalCodeList, hospitalId,principleId);
|
|
|
|
|
|
+ checkRegular(regularMappings, behospitalCodeList, hospitalId,principleId,recColumnTable);
|
|
}
|
|
}
|
|
//获取字段校验的标准值规则
|
|
//获取字段校验的标准值规则
|
|
List<GetStandardvalueInfoDTO> standardvalueInfo = getStandardvalueInfo();
|
|
List<GetStandardvalueInfoDTO> standardvalueInfo = getStandardvalueInfo();
|
|
if (ListUtil.isNotEmpty(standardvalueInfo)) {
|
|
if (ListUtil.isNotEmpty(standardvalueInfo)) {
|
|
- checkStandardvalue(standardvalueInfo, behospitalCodeList, hospitalId,principleId);
|
|
|
|
|
|
+ checkStandardvalue(standardvalueInfo, behospitalCodeList, hospitalId,principleId,recColumnTable);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -389,22 +391,44 @@ public class ColumnResultManagementFacade {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ //获取所有包含rec_id的表名
|
|
|
|
+ List<String> recColumnTable = getRecColumnTable();
|
|
//非空校验规则今天有修改
|
|
//非空校验规则今天有修改
|
|
if (ListUtil.isNotEmpty(nonnullInfoList) && ListUtil.isNotEmpty(behospitalCodeList)) {
|
|
if (ListUtil.isNotEmpty(nonnullInfoList) && ListUtil.isNotEmpty(behospitalCodeList)) {
|
|
//调用校验非空规则方法
|
|
//调用校验非空规则方法
|
|
- checkNonnull(nonnullInfos, behospitalCodeList, hospitalId,principleId);
|
|
|
|
|
|
+ checkNonnull(nonnullInfos, behospitalCodeList, hospitalId,principleId,recColumnTable);
|
|
}
|
|
}
|
|
//正则校验规则今天有修改
|
|
//正则校验规则今天有修改
|
|
if (ListUtil.isNotEmpty(regularList) && ListUtil.isNotEmpty(behospitalCodeList)) {
|
|
if (ListUtil.isNotEmpty(regularList) && ListUtil.isNotEmpty(behospitalCodeList)) {
|
|
//调用校验正则规则
|
|
//调用校验正则规则
|
|
- checkRegular(regularMappings, behospitalCodeList, hospitalId,principleId);
|
|
|
|
|
|
+ checkRegular(regularMappings, behospitalCodeList, hospitalId,principleId,recColumnTable);
|
|
}
|
|
}
|
|
//标准值校验规则今天有修改
|
|
//标准值校验规则今天有修改
|
|
if (ListUtil.isNotEmpty(standardvalueList) && ListUtil.isNotEmpty(behospitalCodeList)) {
|
|
if (ListUtil.isNotEmpty(standardvalueList) && ListUtil.isNotEmpty(behospitalCodeList)) {
|
|
//调用校验正则规则
|
|
//调用校验正则规则
|
|
- checkStandardvalue(standardvalueInfo, behospitalCodeList, hospitalId,principleId);
|
|
|
|
|
|
+ checkStandardvalue(standardvalueInfo, behospitalCodeList, hospitalId,principleId,recColumnTable);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ /**
|
|
|
|
+ *
|
|
|
|
+ *获取所有包含rec_id的表名
|
|
|
|
+ * @param
|
|
|
|
+ * @return:
|
|
|
|
+ */
|
|
|
|
+ public List<String> getRecColumnTable(){
|
|
|
|
+ //获取所有包含rec_id的表名
|
|
|
|
+ List<ColumnInfo> columnInfoList = columnInfoFacade.getBaseMapper().selectList(new QueryWrapper<ColumnInfo>()
|
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
|
+ .eq("column_ename", "rec_id")
|
|
|
|
+ );
|
|
|
|
+ List<String> recColumnTable = new ArrayList<>();
|
|
|
|
+ if(ListUtil.isNotEmpty(columnInfoList)) {
|
|
|
|
+ for (ColumnInfo columnInfo : columnInfoList) {
|
|
|
|
+ recColumnTable.add(columnInfo.getTableEname());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return recColumnTable;
|
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
/**
|
|
* 获取时间段内所有病历
|
|
* 获取时间段内所有病历
|
|
@@ -464,7 +488,7 @@ public class ColumnResultManagementFacade {
|
|
* @param hospitalId
|
|
* @param hospitalId
|
|
* @return:
|
|
* @return:
|
|
*/
|
|
*/
|
|
- public void checkNonnull(List<NonnullInfo> nonnullInfos, List<String> behospitalCodeList, Long hospitalId,Long principleId) {
|
|
|
|
|
|
+ public void checkNonnull(List<NonnullInfo> nonnullInfos, List<String> behospitalCodeList, Long hospitalId,Long principleId,List<String> recColumnTable) {
|
|
for (NonnullInfo nonnullInfo : nonnullInfos) {
|
|
for (NonnullInfo nonnullInfo : nonnullInfos) {
|
|
Long columnId = nonnullInfo.getColumnId();
|
|
Long columnId = nonnullInfo.getColumnId();
|
|
ColumnInfo columnInfo = columnInfoFacade.getBaseMapper().selectById(columnId);
|
|
ColumnInfo columnInfo = columnInfoFacade.getBaseMapper().selectById(columnId);
|
|
@@ -478,7 +502,7 @@ public class ColumnResultManagementFacade {
|
|
getTableColumnInfoVO.setHospitalId(hospitalId);
|
|
getTableColumnInfoVO.setHospitalId(hospitalId);
|
|
String columnNumber = getColumnNumber(columnInfo.getTableCname());
|
|
String columnNumber = getColumnNumber(columnInfo.getTableCname());
|
|
getTableColumnInfoVO.setNumberColumnCname(columnNumber);
|
|
getTableColumnInfoVO.setNumberColumnCname(columnNumber);
|
|
- List<GetTableColumnInfoDTO> tableColumnVal = getTableColumnVal(getTableColumnInfoVO);
|
|
|
|
|
|
+ List<GetTableColumnInfoDTO> tableColumnVal = getTableColumnVal(getTableColumnInfoVO,recColumnTable);
|
|
//枚举获取模块信息
|
|
//枚举获取模块信息
|
|
String modeId = ModeEnum.valueOf(columnInfo.getTableEname()).getKey();
|
|
String modeId = ModeEnum.valueOf(columnInfo.getTableEname()).getKey();
|
|
String modeName = ModeEnum.valueOf(columnInfo.getTableEname()).getName();
|
|
String modeName = ModeEnum.valueOf(columnInfo.getTableEname()).getName();
|
|
@@ -504,8 +528,12 @@ public class ColumnResultManagementFacade {
|
|
nonnullResult.setBehospitalCode(getTableColumnInfoDTO.getBehospitalCode());
|
|
nonnullResult.setBehospitalCode(getTableColumnInfoDTO.getBehospitalCode());
|
|
nonnullResult.setModeId(getTableColumnInfoDTO.getModeId());
|
|
nonnullResult.setModeId(getTableColumnInfoDTO.getModeId());
|
|
nonnullResult.setModeName(getTableColumnInfoDTO.getModeName());
|
|
nonnullResult.setModeName(getTableColumnInfoDTO.getModeName());
|
|
- nonnullResult.setHosptialDatatmpCode(modeId);
|
|
|
|
- nonnullResult.setHosptialDatatmpName(modeName);
|
|
|
|
|
|
+ if(StringUtil.isNotEmpty(getTableColumnInfoDTO.getRecId())) {
|
|
|
|
+ nonnullResult.setHosptialDatatmpCode(getTableColumnInfoDTO.getRecId());
|
|
|
|
+ }
|
|
|
|
+ if(StringUtil.isNotEmpty(getTableColumnInfoDTO.getRecTitle())) {
|
|
|
|
+ nonnullResult.setHosptialDatatmpName(getTableColumnInfoDTO.getRecTitle());
|
|
|
|
+ }
|
|
nonnullResult.setColumnId(nonnullInfo.getColumnId());
|
|
nonnullResult.setColumnId(nonnullInfo.getColumnId());
|
|
nonnullResult.setBehospitalDate(getTableColumnInfoDTO.getBehospitalDate());
|
|
nonnullResult.setBehospitalDate(getTableColumnInfoDTO.getBehospitalDate());
|
|
nonnullResult.setTableCname(columnInfo.getTableCname());
|
|
nonnullResult.setTableCname(columnInfo.getTableCname());
|
|
@@ -540,7 +568,7 @@ public class ColumnResultManagementFacade {
|
|
* @param hospitalId
|
|
* @param hospitalId
|
|
* @return:
|
|
* @return:
|
|
*/
|
|
*/
|
|
- public void checkRegular(List<GetRegular> regularMappings, List<String> behospitalCodeList, Long hospitalId,Long principleId) {
|
|
|
|
|
|
+ public void checkRegular(List<GetRegular> regularMappings, List<String> behospitalCodeList, Long hospitalId,Long principleId,List<String> recColumnTable) {
|
|
for (GetRegular getRegular : regularMappings) {
|
|
for (GetRegular getRegular : regularMappings) {
|
|
Long columnId = getRegular.getColumnId();
|
|
Long columnId = getRegular.getColumnId();
|
|
ColumnInfo columnInfo = columnInfoFacade.getBaseMapper().selectById(columnId);
|
|
ColumnInfo columnInfo = columnInfoFacade.getBaseMapper().selectById(columnId);
|
|
@@ -553,7 +581,7 @@ public class ColumnResultManagementFacade {
|
|
getTableColumnInfoVO.setHospitalId(hospitalId);
|
|
getTableColumnInfoVO.setHospitalId(hospitalId);
|
|
String columnNumber = getColumnNumber(columnInfo.getTableCname());
|
|
String columnNumber = getColumnNumber(columnInfo.getTableCname());
|
|
getTableColumnInfoVO.setNumberColumnCname(columnNumber);
|
|
getTableColumnInfoVO.setNumberColumnCname(columnNumber);
|
|
- List<GetTableColumnInfoDTO> tableColumnVal = getTableColumnVal(getTableColumnInfoVO);
|
|
|
|
|
|
+ List<GetTableColumnInfoDTO> tableColumnVal = getTableColumnVal(getTableColumnInfoVO,recColumnTable);
|
|
String modeId = ModeEnum.valueOf(columnInfo.getTableEname()).getKey();
|
|
String modeId = ModeEnum.valueOf(columnInfo.getTableEname()).getKey();
|
|
String modeName = ModeEnum.valueOf(columnInfo.getTableEname()).getName();
|
|
String modeName = ModeEnum.valueOf(columnInfo.getTableEname()).getName();
|
|
String regular = getRegular.getVal();
|
|
String regular = getRegular.getVal();
|
|
@@ -582,8 +610,12 @@ public class ColumnResultManagementFacade {
|
|
regularResult.setTableEname(columnInfo.getTableEname());
|
|
regularResult.setTableEname(columnInfo.getTableEname());
|
|
regularResult.setColumnCname(columnInfo.getColumnCname());
|
|
regularResult.setColumnCname(columnInfo.getColumnCname());
|
|
regularResult.setColumnEname(columnInfo.getColumnEname());
|
|
regularResult.setColumnEname(columnInfo.getColumnEname());
|
|
- regularResult.setHosptialDatatmpCode(modeId);
|
|
|
|
- regularResult.setHosptialDatatmpName(modeName);
|
|
|
|
|
|
+ if(StringUtil.isNotEmpty(getTableColumnInfoDTO.getRecId())) {
|
|
|
|
+ regularResult.setHosptialDatatmpCode(getTableColumnInfoDTO.getRecId());
|
|
|
|
+ }
|
|
|
|
+ if(StringUtil.isNotEmpty(getTableColumnInfoDTO.getRecTitle())) {
|
|
|
|
+ regularResult.setHosptialDatatmpName(getTableColumnInfoDTO.getRecTitle());
|
|
|
|
+ }
|
|
regularResult.setBehospitalDate(getTableColumnInfoDTO.getBehospitalDate());
|
|
regularResult.setBehospitalDate(getTableColumnInfoDTO.getBehospitalDate());
|
|
regularResult.setHospitalDataCode(getTableColumnInfoDTO.getNumberId());
|
|
regularResult.setHospitalDataCode(getTableColumnInfoDTO.getNumberId());
|
|
regularResult.setRegularId(getRegular.getId());
|
|
regularResult.setRegularId(getRegular.getId());
|
|
@@ -617,7 +649,7 @@ public class ColumnResultManagementFacade {
|
|
* @param hospitalId
|
|
* @param hospitalId
|
|
* @return:
|
|
* @return:
|
|
*/
|
|
*/
|
|
- public void checkStandardvalue(List<GetStandardvalueInfoDTO> standardvalueInfos, List<String> behospitalCodeList, Long hospitalId,Long principleId) {
|
|
|
|
|
|
+ public void checkStandardvalue(List<GetStandardvalueInfoDTO> standardvalueInfos, List<String> behospitalCodeList, Long hospitalId,Long principleId,List<String> recColumnTable) {
|
|
for (GetStandardvalueInfoDTO standardvalueInfo : standardvalueInfos) {
|
|
for (GetStandardvalueInfoDTO standardvalueInfo : standardvalueInfos) {
|
|
Long columnId = standardvalueInfo.getColumnId();
|
|
Long columnId = standardvalueInfo.getColumnId();
|
|
ColumnInfo columnInfo = columnInfoFacade.getBaseMapper().selectById(columnId);
|
|
ColumnInfo columnInfo = columnInfoFacade.getBaseMapper().selectById(columnId);
|
|
@@ -630,7 +662,7 @@ public class ColumnResultManagementFacade {
|
|
getTableColumnInfoVO.setHospitalId(hospitalId);
|
|
getTableColumnInfoVO.setHospitalId(hospitalId);
|
|
String columnNumber = getColumnNumber(columnInfo.getTableCname());
|
|
String columnNumber = getColumnNumber(columnInfo.getTableCname());
|
|
getTableColumnInfoVO.setNumberColumnCname(columnNumber);
|
|
getTableColumnInfoVO.setNumberColumnCname(columnNumber);
|
|
- List<GetTableColumnInfoDTO> tableColumnVal = getTableColumnVal(getTableColumnInfoVO);
|
|
|
|
|
|
+ List<GetTableColumnInfoDTO> tableColumnVal = getTableColumnVal(getTableColumnInfoVO,recColumnTable);
|
|
String standardvalue = standardvalueInfo.getStandardvalue();
|
|
String standardvalue = standardvalueInfo.getStandardvalue();
|
|
String modeId = ModeEnum.valueOf(columnInfo.getTableEname()).getKey();
|
|
String modeId = ModeEnum.valueOf(columnInfo.getTableEname()).getKey();
|
|
String modeName = ModeEnum.valueOf(columnInfo.getTableEname()).getName();
|
|
String modeName = ModeEnum.valueOf(columnInfo.getTableEname()).getName();
|
|
@@ -658,9 +690,13 @@ public class ColumnResultManagementFacade {
|
|
standardvalueResult.setModeName(getTableColumnInfoDTO.getModeName());
|
|
standardvalueResult.setModeName(getTableColumnInfoDTO.getModeName());
|
|
standardvalueResult.setColumnId(columnId);
|
|
standardvalueResult.setColumnId(columnId);
|
|
standardvalueResult.setMappings(standardvalueMapping);
|
|
standardvalueResult.setMappings(standardvalueMapping);
|
|
- standardvalueResult.setHosptialDatatmpCode(modeId);
|
|
|
|
standardvalueResult.setBehospitalDate(getTableColumnInfoDTO.getBehospitalDate());
|
|
standardvalueResult.setBehospitalDate(getTableColumnInfoDTO.getBehospitalDate());
|
|
- standardvalueResult.setHosptialDatatmpName(modeName);
|
|
|
|
|
|
+ if(StringUtil.isNotEmpty(getTableColumnInfoDTO.getRecId())) {
|
|
|
|
+ standardvalueResult.setHosptialDatatmpCode(getTableColumnInfoDTO.getRecId());
|
|
|
|
+ }
|
|
|
|
+ if(StringUtil.isNotEmpty(getTableColumnInfoDTO.getRecTitle())) {
|
|
|
|
+ standardvalueResult.setHosptialDatatmpName(getTableColumnInfoDTO.getRecTitle());
|
|
|
|
+ }
|
|
standardvalueResult.setTableCname(columnInfo.getTableCname());
|
|
standardvalueResult.setTableCname(columnInfo.getTableCname());
|
|
standardvalueResult.setBehospitalDate(getTableColumnInfoDTO.getBehospitalDate());
|
|
standardvalueResult.setBehospitalDate(getTableColumnInfoDTO.getBehospitalDate());
|
|
standardvalueResult.setTableEname(columnInfo.getTableEname());
|
|
standardvalueResult.setTableEname(columnInfo.getTableEname());
|
|
@@ -691,7 +727,12 @@ public class ColumnResultManagementFacade {
|
|
* @param getTableColumnInfoVO
|
|
* @param getTableColumnInfoVO
|
|
* @return: 具体数据
|
|
* @return: 具体数据
|
|
*/
|
|
*/
|
|
- public List<GetTableColumnInfoDTO> getTableColumnVal(GetTableColumnInfoVO getTableColumnInfoVO) {
|
|
|
|
|
|
+ public List<GetTableColumnInfoDTO> getTableColumnVal(GetTableColumnInfoVO getTableColumnInfoVO,List<String> recColumnTable) {
|
|
|
|
+ //判断此规则是否包含rec_id
|
|
|
|
+ if(ListUtil.isNotEmpty(recColumnTable) && recColumnTable.contains(getTableColumnInfoVO.getColumnEname())){
|
|
|
|
+ List<GetTableColumnInfoDTO> tableColumnVal = columnResultFacade.getBaseMapper().getRecSpecialTableColumnVal(getTableColumnInfoVO);
|
|
|
|
+ return tableColumnVal;
|
|
|
|
+ }
|
|
List<GetTableColumnInfoDTO> tableColumnVal = columnResultFacade.getBaseMapper().getSpecialTableColumnVal(getTableColumnInfoVO);
|
|
List<GetTableColumnInfoDTO> tableColumnVal = columnResultFacade.getBaseMapper().getSpecialTableColumnVal(getTableColumnInfoVO);
|
|
return tableColumnVal;
|
|
return tableColumnVal;
|
|
}
|
|
}
|
|
@@ -818,8 +859,12 @@ public class ColumnResultManagementFacade {
|
|
columnResult.setBehospitalCode(getTableColumnInfoDTO.getBehospitalCode());
|
|
columnResult.setBehospitalCode(getTableColumnInfoDTO.getBehospitalCode());
|
|
columnResult.setModeId(getTableColumnInfoDTO.getModeId());
|
|
columnResult.setModeId(getTableColumnInfoDTO.getModeId());
|
|
columnResult.setModeName(getTableColumnInfoDTO.getModeName());
|
|
columnResult.setModeName(getTableColumnInfoDTO.getModeName());
|
|
- columnResult.setHosptialDatatmpCode(getTableColumnInfoDTO.getModeId().toString());
|
|
|
|
- columnResult.setHosptialDatatmpName(getTableColumnInfoDTO.getModeName());
|
|
|
|
|
|
+ if(StringUtil.isNotEmpty(getTableColumnInfoDTO.getRecId())) {
|
|
|
|
+ columnResult.setHosptialDatatmpCode(getTableColumnInfoDTO.getRecId());
|
|
|
|
+ }
|
|
|
|
+ if(StringUtil.isNotEmpty(getTableColumnInfoDTO.getRecTitle())) {
|
|
|
|
+ columnResult.setHosptialDatatmpName(getTableColumnInfoDTO.getRecTitle());
|
|
|
|
+ }
|
|
columnResult.setHospitalDataCode(getTableColumnInfoDTO.getNumberId());
|
|
columnResult.setHospitalDataCode(getTableColumnInfoDTO.getNumberId());
|
|
columnResult.setColumnId(columnId);
|
|
columnResult.setColumnId(columnId);
|
|
if(principleId!=null) {
|
|
if(principleId!=null) {
|