|
@@ -20,6 +20,7 @@ import com.diagbot.dto.NumDTO;
|
|
|
import com.diagbot.dto.QcResultPercentDTO;
|
|
|
import com.diagbot.dto.QcResultShortDTO;
|
|
|
import com.diagbot.dto.UnModifyMRDTO;
|
|
|
+import com.diagbot.dto.UnModifyMRDetailDTO;
|
|
|
import com.diagbot.entity.SysHospitalSet;
|
|
|
import com.diagbot.exception.CommonErrorCode;
|
|
|
import com.diagbot.exception.CommonException;
|
|
@@ -978,7 +979,9 @@ public class ConsoleFacade {
|
|
|
* @param filterUnModifyMRVO
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<Object> unModifyMRStatistics(FilterUnModifyMRVO filterUnModifyMRVO) {
|
|
|
+ public UnModifyMRDTO unModifyMRStatistics(FilterUnModifyMRVO filterUnModifyMRVO) {
|
|
|
+ UnModifyMRDTO unModifyMRDTO = new UnModifyMRDTO();
|
|
|
+ List<Object> retList = Lists.newLinkedList();
|
|
|
filterFacade.filterUnModifyMRVOSet(filterUnModifyMRVO);
|
|
|
|
|
|
//colums
|
|
@@ -991,48 +994,109 @@ public class ConsoleFacade {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
- List<String> columnSet = Arrays.asList(hospitalSet.getValue().split(",||,"));
|
|
|
+ List<String> columnSet = Arrays.asList(hospitalSet.getValue().split(","));
|
|
|
List<ColumnDTO> columns = Lists.newLinkedList();
|
|
|
Integer orderNo = 1;
|
|
|
+ ColumnDTO columnDeptId = new ColumnDTO();
|
|
|
+ columnDeptId.setOrderNo(orderNo);
|
|
|
+ columnDeptId.setFieldName("deptId");
|
|
|
+ columnDeptId.setColumnName("科室编码");
|
|
|
+ columnDeptId.setIsShow(1);
|
|
|
+ columns.add(columnDeptId);
|
|
|
+ orderNo++;
|
|
|
+ ColumnDTO columnDeptName = new ColumnDTO();
|
|
|
+ columnDeptName.setOrderNo(orderNo);
|
|
|
+ columnDeptName.setFieldName("deptName");
|
|
|
+ columnDeptName.setColumnName("科室名称");
|
|
|
+ columnDeptName.setIsShow(1);
|
|
|
+ columns.add(columnDeptName);
|
|
|
+ orderNo++;
|
|
|
+ List<Long> casesEntryIds = Lists.newArrayList();
|
|
|
for (String valueStr : columnSet) {
|
|
|
- String[] keyValue = valueStr.split("||");
|
|
|
+ String[] keyValue = valueStr.split("--");
|
|
|
if (keyValue != null || keyValue.length > 1) {
|
|
|
- ColumnDTO column = new ColumnDTO();
|
|
|
- column.setOrderNo(orderNo);
|
|
|
- column.setField("field_" + keyValue[0]);
|
|
|
- column.setName(keyValue[1]);
|
|
|
- columns.add(column);
|
|
|
+ casesEntryIds.add(Long.valueOf(keyValue[0]));
|
|
|
+ ColumnDTO columnId = new ColumnDTO();
|
|
|
+ columnId.setOrderNo(orderNo);
|
|
|
+ columnId.setId(Long.valueOf(keyValue[0]));
|
|
|
+ columnId.setFieldName("entry_" + keyValue[0] + "_id");
|
|
|
+ columnId.setColumnName(keyValue[1] + "id");
|
|
|
+ columnId.setIsShow(0);
|
|
|
+ columns.add(columnId);
|
|
|
+ orderNo++;
|
|
|
+ ColumnDTO columnName = new ColumnDTO();
|
|
|
+ columnName.setOrderNo(orderNo);
|
|
|
+ columnName.setId(Long.valueOf(keyValue[0]));
|
|
|
+ columnName.setFieldName("entry_" + keyValue[0] + "_name");
|
|
|
+ columnName.setColumnName(keyValue[1] + "name");
|
|
|
+ columnName.setIsShow(0);
|
|
|
+ columns.add(columnName);
|
|
|
+ orderNo++;
|
|
|
+ ColumnDTO columnNum = new ColumnDTO();
|
|
|
+ columnNum.setOrderNo(orderNo);
|
|
|
+ columnNum.setId(Long.valueOf(keyValue[0]));
|
|
|
+ columnNum.setFieldName("entry_" + keyValue[0] + "_num");
|
|
|
+ columnNum.setColumnName(keyValue[1]);
|
|
|
+ columnNum.setIsShow(1);
|
|
|
+ columns.add(columnNum);
|
|
|
orderNo++;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //字段名称
|
|
|
- List<String> fields = columns.stream().map(item -> item.getField()).collect(Collectors.toList());
|
|
|
-
|
|
|
- List<UnModifyMRDTO> records = behospitalInfoFacade.unModifyMRStatistics(filterUnModifyMRVO);
|
|
|
- Map<String, List<UnModifyMRDTO>> deptMap = EntityUtil.makeEntityListMap(records, "deptId");
|
|
|
- Map<String, Map<Long, List<UnModifyMRDTO>>> deptEntryMap = new LinkedHashMap<>();
|
|
|
- for (Map.Entry<String, List<UnModifyMRDTO>> entry : deptMap.entrySet()) {
|
|
|
- Map<Long, List<UnModifyMRDTO>> entryMap = EntityUtil.makeEntityListMap(entry.getValue(), "casesEntryId");
|
|
|
+ filterUnModifyMRVO.setCasesEntryIds(casesEntryIds);
|
|
|
+ List<UnModifyMRDetailDTO> records = behospitalInfoFacade.unModifyMRStatistics(filterUnModifyMRVO);
|
|
|
+ Map<String, List<UnModifyMRDetailDTO>> deptMap = EntityUtil.makeEntityListMap(records, "deptId");
|
|
|
+ Map<String, String> deptInfoMap = EntityUtil.makeMapWithKeyValue(records, "deptId", "deptName");
|
|
|
+ Map<String, Map<Long, UnModifyMRDetailDTO>> deptEntryMap = new LinkedHashMap<>();
|
|
|
+ for (Map.Entry<String, List<UnModifyMRDetailDTO>> entry : deptMap.entrySet()) {
|
|
|
+ Map<Long, UnModifyMRDetailDTO> entryMap = EntityUtil.makeEntityMap(entry.getValue(), "casesEntryId");
|
|
|
deptEntryMap.put(entry.getKey(), entryMap);
|
|
|
}
|
|
|
- List<Object> retLists = Lists.newLinkedList();
|
|
|
|
|
|
try {
|
|
|
- Object obj = new Object();
|
|
|
- HashMap addMap = new HashMap();
|
|
|
- HashMap addValMap = new HashMap();
|
|
|
- for (String fieldName : fields) {
|
|
|
- addMap.put(fieldName, Class.forName("java.lang.Integer"));
|
|
|
- addValMap.put("fieldName", "");
|
|
|
+ for (Map.Entry<String, Map<Long, UnModifyMRDetailDTO>> entry : deptEntryMap.entrySet()) {
|
|
|
+ Object obj = new Object();
|
|
|
+ HashMap addMap = new HashMap();
|
|
|
+ HashMap addValMap = new HashMap();
|
|
|
+ addMap.put("deptId", Class.forName("java.lang.String"));
|
|
|
+ addValMap.put("deptId", entry.getKey());
|
|
|
+ addMap.put("deptName", Class.forName("java.lang.String"));
|
|
|
+ addValMap.put("deptName", deptInfoMap.get(entry.getKey()));
|
|
|
+
|
|
|
+ for (ColumnDTO item : columns) {
|
|
|
+ if (item.getFieldName().lastIndexOf("_id") > 0) {
|
|
|
+ addMap.put(item.getFieldName(), Class.forName("java.lang.Long"));
|
|
|
+ if (entry.getValue().containsKey(item.getId())) {
|
|
|
+ addValMap.put(item.getFieldName(), entry.getValue().get(item.getId()).getCasesEntryId());
|
|
|
+ } else {
|
|
|
+ addValMap.put(item.getFieldName(), 0L);
|
|
|
+ }
|
|
|
+ } else if (item.getFieldName().lastIndexOf("_name") > 0) {
|
|
|
+ addMap.put(item.getFieldName(), Class.forName("java.lang.String"));
|
|
|
+ if (entry.getValue().containsKey(item.getId())) {
|
|
|
+ addValMap.put(item.getFieldName(), entry.getValue().get(item.getId()).getCasesEntryName());
|
|
|
+ } else {
|
|
|
+ addValMap.put(item.getFieldName(), "");
|
|
|
+ }
|
|
|
+ } else if (item.getFieldName().lastIndexOf("_num") > 0) {
|
|
|
+ addMap.put(item.getFieldName(), Class.forName("java.lang.Integer"));
|
|
|
+ if (entry.getValue().containsKey(item.getId())) {
|
|
|
+ addValMap.put(item.getFieldName(), entry.getValue().get(item.getId()).getCasesEntryNum());
|
|
|
+ } else {
|
|
|
+ addValMap.put(item.getFieldName(), 0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ obj = new ClassUtil().dynamicClass(obj, addMap, addValMap);
|
|
|
+ retList.add(obj);
|
|
|
}
|
|
|
- Object obj2 = new ClassUtil().dynamicClass(obj, addMap, addValMap);
|
|
|
-
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
|
|
|
- return null;
|
|
|
+ unModifyMRDTO.setColumns(columns);
|
|
|
+ unModifyMRDTO.setData(retList);
|
|
|
+ return unModifyMRDTO;
|
|
|
}
|
|
|
}
|