|
|
@@ -1,5 +1,9 @@
|
|
|
package cn.hnthyy.thmz.Utils;
|
|
|
|
|
|
+import cn.hnthyy.thmz.common.Constants;
|
|
|
+import cn.hnthyy.thmz.entity.his.mz.MzChargeDetail;
|
|
|
+import cn.hnthyy.thmz.entity.his.mz.MzPatientMi;
|
|
|
+import cn.hnthyy.thmz.entity.his.mz.MzYjReq;
|
|
|
import cn.hnthyy.thmz.entity.his.mz.MzyReqrec;
|
|
|
import cn.hnthyy.thmz.entity.his.zd.ZdUnitCode;
|
|
|
import cn.hnthyy.thmz.entity.thmz.Mzmxsr;
|
|
|
@@ -126,6 +130,20 @@ public class ExcelUtil {
|
|
|
return exportExcel(null, null, data, YP_REPORT_COLUMNS_LENGTH, VERSION_2007);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 导出核酸申请列表
|
|
|
+ * @param request
|
|
|
+ * @param response
|
|
|
+ * @param mzYjReqs
|
|
|
+ * @param mzChargeDetails
|
|
|
+ * @param regionMap
|
|
|
+ */
|
|
|
+ public static void exportExcelForHsJcList(HttpServletRequest request, HttpServletResponse response, List<MzYjReq> mzYjReqs,List<MzChargeDetail> mzChargeDetails, Map<String, MzPatientMi> mzPatientMiMap,Map<String, String> regionMap) {
|
|
|
+ Map<String, Object> data = fomartHsJcList(mzYjReqs,mzChargeDetails,mzPatientMiMap,regionMap);
|
|
|
+ exportExcel(request, response, data, YP_REPORT_COLUMNS_LENGTH, VERSION_2007);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 方法名:exportExcel
|
|
|
* 功能:导出Excel
|
|
|
@@ -776,4 +794,87 @@ public class ExcelUtil {
|
|
|
data.put(DATA_KEY, arr);
|
|
|
return data;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 将核酸申请对象转换为导出Excel 表格内容的格式
|
|
|
+ * @param mzYjReqs
|
|
|
+ * @param mzChargeDetails
|
|
|
+ * @param mzPatientMiMap
|
|
|
+ * @param regionMap
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private static Map<String, Object> fomartHsJcList(List<MzYjReq> mzYjReqs,List<MzChargeDetail> mzChargeDetails, Map<String, MzPatientMi> mzPatientMiMap,Map<String, String> regionMap) {
|
|
|
+ if (mzYjReqs == null && mzChargeDetails==null) {
|
|
|
+ return Collections.emptyMap();
|
|
|
+ }
|
|
|
+ String fileName =null;
|
|
|
+ if(mzYjReqs!=null){
|
|
|
+ MzYjReq mzYjReq=null;
|
|
|
+ if(mzYjReqs.size()>0){
|
|
|
+ mzYjReq=mzYjReqs.get(0);
|
|
|
+ }
|
|
|
+ if(Constants.NUCLEIC_ORDER_CODE.equals(mzYjReq.getOrderCode())){
|
|
|
+ fileName="核酸检测(单人单管)申请明细列表.xls";
|
|
|
+ }else {
|
|
|
+ fileName="核酸检测(单人单管仅限黄码)申请明细列表.xls";
|
|
|
+ }
|
|
|
+ }else if(mzChargeDetails!=null){
|
|
|
+ fileName="核酸检测项目(混检)申请明细列表.xls";
|
|
|
+ }
|
|
|
+ Map<String, Object> data = new HashMap<>();
|
|
|
+ data.put(FILE_NAME_KEY, fileName);
|
|
|
+ List<Map<String, Object>> heads = new ArrayList<>();
|
|
|
+ Map<String, Object> map0 = new HashMap<>();
|
|
|
+ String[] head0 = {"姓名", "病人ID", "性别", "身份证号码", "联系方式", "地址", "申请时间", "项目名称"};
|
|
|
+ String[] headNum0 = {"0,0,0,0"};
|
|
|
+ map0.put(HEAD_ARR_KEY, head0);
|
|
|
+ map0.put(HEAD_NUM_KEY, headNum0);
|
|
|
+ heads.add(map0);
|
|
|
+ data.put(HEAD_KEY, heads);
|
|
|
+ List<String[]> arr = new ArrayList<>();
|
|
|
+ StringBuffer sbf = new StringBuffer();
|
|
|
+ if(mzYjReqs!=null){
|
|
|
+ mzYjReqs.forEach(mzYjReq -> {
|
|
|
+ if (mzYjReq != null) {
|
|
|
+ MzPatientMi mzPatientMi =mzPatientMiMap.get(mzYjReq.getPatientId());
|
|
|
+ if(mzPatientMi!=null){
|
|
|
+ mzPatientMi.setFullAddress(regionMap,sbf);
|
|
|
+ }
|
|
|
+ String[] temp = {mzYjReq.getPatientName(),
|
|
|
+ mzYjReq.getPatientId(),
|
|
|
+ mzPatientMi==null?"":mzPatientMi.getGender(),
|
|
|
+ mzPatientMi==null?"":mzPatientMi.getSocialNo(),
|
|
|
+ mzPatientMi==null?"":mzPatientMi.getPhoneNo(),
|
|
|
+ mzPatientMi==null?"":mzPatientMi.getAddress(),
|
|
|
+ DateFormatUtils.format(mzYjReq.getReqDate(), "yyyy-MM-dd HH:mm:ss"),
|
|
|
+ mzYjReq.getGroupName()
|
|
|
+ };
|
|
|
+ arr.add(temp);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if(mzChargeDetails!=null){
|
|
|
+ mzChargeDetails.forEach(mzChargeDetail -> {
|
|
|
+ if (mzChargeDetail != null) {
|
|
|
+ MzPatientMi mzPatientMi =mzPatientMiMap.get(mzChargeDetail.getPatientId());
|
|
|
+ if(mzPatientMi!=null){
|
|
|
+ mzPatientMi.setFullAddress(regionMap,sbf);
|
|
|
+ }
|
|
|
+ String[] temp = {mzPatientMi.getName(),
|
|
|
+ mzChargeDetail.getPatientId(),
|
|
|
+ mzPatientMi==null?"":mzPatientMi.getGender(),
|
|
|
+ mzPatientMi==null?"":mzPatientMi.getSocialNo(),
|
|
|
+ mzPatientMi==null?"":mzPatientMi.getPhoneNo(),
|
|
|
+ mzPatientMi==null?"":mzPatientMi.getAddress(),
|
|
|
+ DateFormatUtils.format(mzChargeDetail.getChargeDate(), "yyyy-MM-dd HH:mm:ss"),
|
|
|
+ mzChargeDetail.getTcName()
|
|
|
+ };
|
|
|
+ arr.add(temp);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ data.put(DATA_KEY, arr);
|
|
|
+ return data;
|
|
|
+ }
|
|
|
}
|