|
|
@@ -11,34 +11,74 @@ import thyyxxk.webserver.constants.Capacity;
|
|
|
import thyyxxk.webserver.constants.Message;
|
|
|
import thyyxxk.webserver.constants.YesOrNo;
|
|
|
import thyyxxk.webserver.constants.frntsheet.CaseClassification;
|
|
|
-import thyyxxk.webserver.constants.sidicts.*;
|
|
|
+import thyyxxk.webserver.constants.sidicts.Admdvs;
|
|
|
+import thyyxxk.webserver.constants.sidicts.DrordDrProfttl;
|
|
|
+import thyyxxk.webserver.constants.sidicts.ListType;
|
|
|
+import thyyxxk.webserver.constants.sidicts.SiFunction;
|
|
|
+import thyyxxk.webserver.constants.sidicts.StmtRslt;
|
|
|
import thyyxxk.webserver.dao.his.medicalinsurance.SiLogDao;
|
|
|
import thyyxxk.webserver.dao.his.medicalinsurance.SiManageDao;
|
|
|
import thyyxxk.webserver.dao.his.medicalinsurance.SiSetlinfoDao;
|
|
|
import thyyxxk.webserver.entity.ResultVo;
|
|
|
import thyyxxk.webserver.entity.dictionary.CodeName;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.inpatient.ZyInactpatient;
|
|
|
import thyyxxk.webserver.entity.medicalinsurance.log.SiLog;
|
|
|
-import thyyxxk.webserver.entity.medicalinsurance.manage.*;
|
|
|
-import thyyxxk.webserver.entity.medicalinsurance.manage.clinicinfo.*;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.AtoRcvTrd;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.CatalogueContrast;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.InsSetlDetlChkRslt;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.InstSetlLdgChkBrf;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.InstStlLdgChk;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.clinicinfo.ClinicDiseinfo;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.clinicinfo.ClinicRegistration;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.clinicinfo.ClinicRxinfo;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.clinicinfo.EmergencyOprninfo;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.clinicinfo.EmergencyRescueinfo;
|
|
|
import thyyxxk.webserver.entity.medicalinsurance.manage.deptmanage.DeptInfo;
|
|
|
import thyyxxk.webserver.entity.medicalinsurance.manage.deptmanage.DeptInfoQuery;
|
|
|
import thyyxxk.webserver.entity.medicalinsurance.manage.deptmanage.MedStaffQuery;
|
|
|
-import thyyxxk.webserver.entity.medicalinsurance.manage.detailanalyse.*;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.detailanalyse.FsiDiagnoseDtos;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.detailanalyse.FsiEncounterDtos;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.detailanalyse.FsiHisDataDto;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.detailanalyse.FsiOrderDtos;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.detailanalyse.MainPart;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.detailanalyse.PatientDtos;
|
|
|
import thyyxxk.webserver.entity.medicalinsurance.manage.examination.BilgItemInfo;
|
|
|
-import thyyxxk.webserver.entity.medicalinsurance.manage.frontsheet.*;
|
|
|
-import thyyxxk.webserver.entity.medicalinsurance.manage.goods.*;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.frontsheet.Baseinfo;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.frontsheet.BriefSheet;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.frontsheet.Diseinfo;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.frontsheet.Icuinfo;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.frontsheet.Oprninfo;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.goods.InvinfoModify;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.goods.InvinfoUpload;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.goods.PurcinfoBought;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.goods.SelinfoReturn;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.manage.goods.SelinfoSold;
|
|
|
import thyyxxk.webserver.entity.medicalinsurance.manage.orderinfo.ActOrder;
|
|
|
import thyyxxk.webserver.entity.medicalinsurance.setlinfo.SiSetlinfo;
|
|
|
import thyyxxk.webserver.entity.medicalinsurance.setlinfo.SlctSetlPrm;
|
|
|
import thyyxxk.webserver.service.redislike.RedisLikeService;
|
|
|
-import thyyxxk.webserver.utils.*;
|
|
|
+import thyyxxk.webserver.utils.DateUtil;
|
|
|
+import thyyxxk.webserver.utils.DecimalUtil;
|
|
|
+import thyyxxk.webserver.utils.FilterUtil;
|
|
|
+import thyyxxk.webserver.utils.ResultVoUtil;
|
|
|
+import thyyxxk.webserver.utils.SiUtil;
|
|
|
+import thyyxxk.webserver.utils.SnowFlakeId;
|
|
|
+import thyyxxk.webserver.utils.SocketMsg;
|
|
|
+import thyyxxk.webserver.utils.StringUtil;
|
|
|
+import thyyxxk.webserver.utils.TokenUtil;
|
|
|
+import thyyxxk.webserver.utils.ZipUtil;
|
|
|
import thyyxxk.webserver.websocket.WebSocketServer;
|
|
|
|
|
|
import java.io.IOException;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.nio.file.Files;
|
|
|
import java.nio.file.Paths;
|
|
|
-import java.util.*;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Queue;
|
|
|
|
|
|
/**
|
|
|
* @description: 医保管理服务,包涵项目对照等
|
|
|
@@ -406,6 +446,26 @@ public class SiManageService {
|
|
|
if (null == list || list.isEmpty()) {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER, "没有查询到符合条件的数据。");
|
|
|
}
|
|
|
+
|
|
|
+ // 增加科室,科室,诊断,接诊医生
|
|
|
+ // 住院 21 9902 99940 22 门诊 11 9901 14 53
|
|
|
+ List<ZyInactpatient> zybr = new ArrayList<>();
|
|
|
+ List<Map> mzbr = new ArrayList<>();
|
|
|
+ if("21".equals(prm.getClrType()) || "9902".equals(prm.getClrType()) || "99940".equals(prm.getClrType())
|
|
|
+ || "22".equals(prm.getClrType())){
|
|
|
+ zybr = setlinfoDao.selectZyPatient(list);
|
|
|
+ } else {
|
|
|
+ mzbr = setlinfoDao.selectMzPatient(list);
|
|
|
+ }
|
|
|
+ Map<String, ZyInactpatient> zyMap = new HashMap<>();
|
|
|
+ Map<String, Map> mzMap = new HashMap<>();
|
|
|
+ for(ZyInactpatient s: zybr){
|
|
|
+ zyMap.put(s.getInpatientNo() + "|" + s.getAdmissTimes(), s);
|
|
|
+ }
|
|
|
+ for(Map t: mzbr){
|
|
|
+ mzMap.put(t.get("patNo") + "|" + t.get("times"),t);
|
|
|
+ }
|
|
|
+
|
|
|
Map<String, Object> map = new HashMap<>(Capacity.TWO);
|
|
|
Map<String, String> optinsMap = new HashMap<>();
|
|
|
List<CodeName> optinList = new ArrayList<>();
|
|
|
@@ -419,6 +479,22 @@ public class SiManageService {
|
|
|
if (!optinsMap.containsKey(item.getClrOptins())) {
|
|
|
optinsMap.put(item.getClrOptins(), item.getClrOptinsName());
|
|
|
}
|
|
|
+
|
|
|
+ // 添加科室,诊断,接诊医生
|
|
|
+ if(!zyMap.isEmpty()){
|
|
|
+ ZyInactpatient br = zyMap.get(item.getPatNo() + "|" + item.getTimes());
|
|
|
+ item.setDept(br.getDept());
|
|
|
+ item.setDoctor(br.getJobDoctor());
|
|
|
+ item.setMainDiagnosis(br.getClinicDiagStr());
|
|
|
+ } else {
|
|
|
+ if(!mzMap.isEmpty()){
|
|
|
+ Map m = mzMap.get(item.getPatNo() + "|"+item.getTimes());
|
|
|
+ item.setDept(String.valueOf(m.get("dept")));
|
|
|
+ item.setDoctor(String.valueOf(m.get("doctor")));
|
|
|
+ item.setMainDiagnosis(String.valueOf(m.get("zyzd")));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
FilterUtil.filterCodeToName(item);
|
|
|
});
|
|
|
map.put("list", list);
|