diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterRisMapper.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterRisMapper.java new file mode 100644 index 0000000..93908ad --- /dev/null +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterRisMapper.java @@ -0,0 +1,13 @@ +package com.lyms.platform.permission.dao.master; + +import com.lyms.platform.permission.model.RisReportItemModel; +import com.lyms.platform.permission.model.RisReportModel; + +import java.util.List; + +public interface MasterRisMapper { + void saveRisData(RisReportModel model); + void deleteRisData(RisReportModel model); + void saveRisItemsData(List list); + void deleteRisItemData(RisReportItemModel model); +} diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/RisReportItemModel.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/RisReportItemModel.java index 9946056..9d87a74 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/RisReportItemModel.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/RisReportItemModel.java @@ -7,34 +7,25 @@ package com.lyms.platform.permission.model; public class RisReportItemModel { private Integer id; // 检验报告ID - private String rId; + private String R_ID; // 项目代码 - private String code; + private String CODE; // 项目名称 - private String name; + private String NAME; // 项目结果 - private String result; + private String RESULT; // 高低标志 - private String resultFlag; + private String RESULT_FLAG; // 参考值 - private String ref; + private String REF; // 结果类型 - private String resultType; + private String RESULT_TYPE; // 单位 - private String unit; + private String UNIT; // 打印顺序 - private String printOrder; + private String PRINT_ORDER; - private String hospitalId; - - - public String getHospitalId() { - return hospitalId; - } - - public void setHospitalId(String hospitalId) { - this.hospitalId = hospitalId; - } + private String HOSPITAL_ID; public Integer getId() { return id; @@ -44,85 +35,83 @@ public class RisReportItemModel { this.id = id; } + public String getR_ID() { + return R_ID; + } - public String getrId() { - return rId; + public void setR_ID(String r_ID) { + R_ID = r_ID; } - public void setrId(String rId) { - this.rId = rId; + public String getCODE() { + return CODE; } - public String getCode() { - return code; + public void setCODE(String CODE) { + this.CODE = CODE; } - public void setCode(String code) { - this.code = code; + public String getNAME() { + return NAME; } - public String getName() { - return name; + public void setNAME(String NAME) { + this.NAME = NAME; } - public void setName(String name) { - this.name = name; + public String getRESULT() { + return RESULT; } - public String getResult() { - return result; + public void setRESULT(String RESULT) { + this.RESULT = RESULT; } - public void setResult(String result) { - this.result = result; + public String getRESULT_FLAG() { + return RESULT_FLAG; } - public String getResultFlag() { - return resultFlag; + public void setRESULT_FLAG(String RESULT_FLAG) { + this.RESULT_FLAG = RESULT_FLAG; } - public void setResultFlag(String resultFlag) { - this.resultFlag = resultFlag; + public String getREF() { + return REF; } - public String getRef() { - return ref; + public void setREF(String REF) { + this.REF = REF; } - public void setRef(String ref) { - this.ref = ref; + public String getRESULT_TYPE() { + return RESULT_TYPE; } - public String getResultType() { - return resultType; + public void setRESULT_TYPE(String RESULT_TYPE) { + this.RESULT_TYPE = RESULT_TYPE; } - public void setResultType(String resultType) { - this.resultType = resultType; + public String getUNIT() { + return UNIT; } - public String getUnit() { - return unit; + public void setUNIT(String UNIT) { + this.UNIT = UNIT; } - public void setUnit(String unit) { - this.unit = unit; + public String getPRINT_ORDER() { + return PRINT_ORDER; } - public String getPrintOrder() { - return printOrder; + public void setPRINT_ORDER(String PRINT_ORDER) { + this.PRINT_ORDER = PRINT_ORDER; } - public void setPrintOrder(String printOrder) { - this.printOrder = printOrder; + public String getHOSPITAL_ID() { + return HOSPITAL_ID; } - @Override - public String toString() { - return "RisReportItemModel [id=" + id + ", rId=" + rId + ", code=" - + code + ", name=" + name + ", result=" + result - + ", resultFlag=" + resultFlag + ", ref=" + ref - + ", resultType=" + resultType + ", unit=" + unit - + ", printOrder=" + printOrder + "]"; + public void setHOSPITAL_ID(String HOSPITAL_ID) { + this.HOSPITAL_ID = HOSPITAL_ID; } } diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/RisReportModel.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/RisReportModel.java index 74649af..d8a8150 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/RisReportModel.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/RisReportModel.java @@ -2,59 +2,30 @@ package com.lyms.platform.permission.model; public class RisReportModel { private Integer id; - // 检查报告号 - private String rId; - // 检查报告名称 - private String title; - // 检查报告类型 - private String type; - // 就诊卡号 - private String vcCardNo; - // 患者姓名 - private String name; - // 住院号 - private String bhnum; - // 患者年龄 - private String age; - // 患者性别 - private String sex; - // 影像图片 - private String imgs; - // 影像所见 - private String itemFinding; - // 诊断意见 - private String itemDiagnosis; - // 检验结果 - private String itemResult; - // 送检日期 - private String applyTime; - // 检验时间 - private String checkTime; - // 报告发布时间 - private String publishTime; - // 送检医生 - private String applyDoctor; - // 送检科室 - private String applyDept; - // 检验员 - private String checker; - // 最后修改时间 - private String modified; - // 创建时间 - private String created; - // 医院id - private String hospitalId; - - //联系方式 - private String phone; - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } + private String R_ID; + private String TITLE; + private String TYPE; + private String VCCARDNO; + private String NAME; + private String PHONE; + private String BHNUM; + private String AGE; + private String SEX; + private String IMGS;//影像图片 + private String ITEM_FINDING;//影像所见 + private String ITEM_DIAGNOSIS;//诊断意见 + private String ITEM_RESULT;//检验结果 + private String APPLY_TIME;//送检日期 + private String CHECK_TIME;//检验时间 + private String PUBLISH_TIME;//报告发布时间 + private String APPLY_DOCTOR;//送检医生 + private String APPLY_DEPT;//送检科室 + private String CHECKER;//检验员 + private String MODIFIED;//最后修改时间 + private String CREATED;//创建时间 + private String HOSPITAL_ID; + private String ITEM_JSON; + public Integer getId() { return id; @@ -64,186 +35,187 @@ public class RisReportModel { this.id = id; } - public String getrId() { - return rId; + public String getR_ID() { + return R_ID; + } + + public void setR_ID(String r_ID) { + R_ID = r_ID; } - public void setrId(String rId) { - this.rId = rId; + public String getTITLE() { + return TITLE; } - public String getTitle() { - return title; + public void setTITLE(String TITLE) { + this.TITLE = TITLE; } - public void setTitle(String title) { - this.title = title; + public String getTYPE() { + return TYPE; } - public String getType() { - return type; + public void setTYPE(String TYPE) { + this.TYPE = TYPE; } - public void setType(String type) { - this.type = type; + public String getVCCARDNO() { + return VCCARDNO; } - public String getVcCardNo() { - return vcCardNo; + public void setVCCARDNO(String VCCARDNO) { + this.VCCARDNO = VCCARDNO; } - public void setVcCardNo(String vcCardNo) { - this.vcCardNo = vcCardNo; + public String getNAME() { + return NAME; } - public String getName() { - return name; + public void setNAME(String NAME) { + this.NAME = NAME; } - public void setName(String name) { - this.name = name; + public String getPHONE() { + return PHONE; } - public String getBhnum() { - return bhnum; + public void setPHONE(String PHONE) { + this.PHONE = PHONE; } - public void setBhnum(String bhnum) { - this.bhnum = bhnum; + public String getBHNUM() { + return BHNUM; } - public String getAge() { - return age; + public void setBHNUM(String BHNUM) { + this.BHNUM = BHNUM; } - public void setAge(String age) { - this.age = age; + public String getAGE() { + return AGE; } - public String getSex() { - return sex; + public void setAGE(String AGE) { + this.AGE = AGE; } - public void setSex(String sex) { - this.sex = sex; + public String getSEX() { + return SEX; } - public String getImgs() { - return imgs; + public void setSEX(String SEX) { + this.SEX = SEX; } - public void setImgs(String imgs) { - this.imgs = imgs; + public String getIMGS() { + return IMGS; } - public String getItemFinding() { - return itemFinding; + public void setIMGS(String IMGS) { + this.IMGS = IMGS; } - public void setItemFinding(String itemFinding) { - this.itemFinding = itemFinding; + public String getITEM_FINDING() { + return ITEM_FINDING; } - public String getItemDiagnosis() { - return itemDiagnosis; + public void setITEM_FINDING(String ITEM_FINDING) { + this.ITEM_FINDING = ITEM_FINDING; } - public void setItemDiagnosis(String itemDiagnosis) { - this.itemDiagnosis = itemDiagnosis; + public String getITEM_DIAGNOSIS() { + return ITEM_DIAGNOSIS; } - public String getItemResult() { - return itemResult; + public void setITEM_DIAGNOSIS(String ITEM_DIAGNOSIS) { + this.ITEM_DIAGNOSIS = ITEM_DIAGNOSIS; } - public void setItemResult(String itemResult) { - this.itemResult = itemResult; + public String getITEM_RESULT() { + return ITEM_RESULT; } - public String getApplyTime() { - return applyTime; + public void setITEM_RESULT(String ITEM_RESULT) { + this.ITEM_RESULT = ITEM_RESULT; } - public void setApplyTime(String applyTime) { - this.applyTime = applyTime; + public String getAPPLY_TIME() { + return APPLY_TIME; } - public String getCheckTime() { - return checkTime; + public void setAPPLY_TIME(String APPLY_TIME) { + this.APPLY_TIME = APPLY_TIME; } - public void setCheckTime(String checkTime) { - this.checkTime = checkTime; + public String getCHECK_TIME() { + return CHECK_TIME; } - public String getPublishTime() { - return publishTime; + public void setCHECK_TIME(String CHECK_TIME) { + this.CHECK_TIME = CHECK_TIME; } - public void setPublishTime(String publishTime) { - this.publishTime = publishTime; + public String getPUBLISH_TIME() { + return PUBLISH_TIME; } - public String getApplyDoctor() { - return applyDoctor; + public void setPUBLISH_TIME(String PUBLISH_TIME) { + this.PUBLISH_TIME = PUBLISH_TIME; } - public void setApplyDoctor(String applyDoctor) { - this.applyDoctor = applyDoctor; + public String getAPPLY_DOCTOR() { + return APPLY_DOCTOR; } - public String getApplyDept() { - return applyDept; + public void setAPPLY_DOCTOR(String APPLY_DOCTOR) { + this.APPLY_DOCTOR = APPLY_DOCTOR; } - public void setApplyDept(String applyDept) { - this.applyDept = applyDept; + public String getAPPLY_DEPT() { + return APPLY_DEPT; } - public String getChecker() { - return checker; + public void setAPPLY_DEPT(String APPLY_DEPT) { + this.APPLY_DEPT = APPLY_DEPT; } - public void setChecker(String checker) { - this.checker = checker; + public String getCHECKER() { + return CHECKER; } - public String getModified() { - return modified; + public void setCHECKER(String CHECKER) { + this.CHECKER = CHECKER; } - public void setModified(String modified) { - this.modified = modified; + public String getMODIFIED() { + return MODIFIED; } - public String getCreated() { - return created; + public void setMODIFIED(String MODIFIED) { + this.MODIFIED = MODIFIED; } - public void setCreated(String created) { - this.created = created; + public String getCREATED() { + return CREATED; } - public String getHospitalId() { - return hospitalId; + public void setCREATED(String CREATED) { + this.CREATED = CREATED; } - public void setHospitalId(String hospitalId) { - this.hospitalId = hospitalId; + public String getHOSPITAL_ID() { + return HOSPITAL_ID; } - @Override - public String toString() { - return "RisReportModel [id=" + id + ", rId=" + rId + ", title=" + title - + ", type=" + type + ", vcCardNo=" + vcCardNo + ", name=" - + name + ", bhnum=" + bhnum + ", age=" + age + ", sex=" + sex - + ", imgs=" + imgs + ", itemFinding=" + itemFinding - + ", itemDiagnosis=" + itemDiagnosis + ", itemResult=" - + itemResult + ", applyTime=" + applyTime + ", checkTime=" - + checkTime + ", publishTime=" + publishTime + ", applyDoctor=" - + applyDoctor + ", applyDept=" + applyDept + ", checker=" - + checker + ", modified=" + modified + ", created=" + created - + ", hospitalId=" + hospitalId + "]"; + public void setHOSPITAL_ID(String HOSPITAL_ID) { + this.HOSPITAL_ID = HOSPITAL_ID; } + public String getITEM_JSON() { + return ITEM_JSON; + } + + public void setITEM_JSON(String ITEM_JSON) { + this.ITEM_JSON = ITEM_JSON; + } } diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/RisService.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/RisService.java new file mode 100644 index 0000000..854a26b --- /dev/null +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/RisService.java @@ -0,0 +1,13 @@ +package com.lyms.platform.permission.service; + +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.permission.model.RisReportItemModel; +import com.lyms.platform.permission.model.RisReportModel; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +import java.util.List; + +public interface RisService { + BaseResponse saveRisData(List models, ThreadPoolTaskExecutor commonThreadPool); + void saveRisItemsData(List list); +} diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/RisServiceImpl.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/RisServiceImpl.java new file mode 100644 index 0000000..8c4ccd3 --- /dev/null +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/RisServiceImpl.java @@ -0,0 +1,89 @@ +package com.lyms.platform.permission.service.impl; + +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.permission.dao.master.MasterLisMapper; +import com.lyms.platform.permission.dao.master.MasterRisMapper; +import com.lyms.platform.permission.model.LisReportModel; +import com.lyms.platform.permission.model.LisReportQuery; +import com.lyms.platform.permission.model.RisReportItemModel; +import com.lyms.platform.permission.model.RisReportModel; +import com.lyms.platform.permission.service.RisService; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +@Service +public class RisServiceImpl implements RisService { + @Autowired + private MasterRisMapper masterRisMapper; + private static final int BATCH_SIZE = 10; + @Override + public BaseResponse saveRisData(List models,ThreadPoolTaskExecutor commonThreadPool) { + try { + System.out.println("saveRis data size = " + models.size()); + if (CollectionUtils.isNotEmpty(models)) { + //线程数 + int threadCount = models.size() % BATCH_SIZE == 0 ? models.size() / BATCH_SIZE : models.size() / BATCH_SIZE + 1; + System.out.println("threadCount = " + threadCount); + CountDownLatch countDownLatch = new CountDownLatch(threadCount); + int end = 0; + for (int i = 0; i < models.size(); i += BATCH_SIZE) { + end = (end + BATCH_SIZE); + if (end > models.size()) { + end = models.size(); + } + List list = models.subList(i, end); + commonThreadPool.execute(new RisSaveTask(countDownLatch, masterRisMapper, list)); + } + countDownLatch.await(20, TimeUnit.SECONDS); + } + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + + } catch (Exception e) { + return new BaseResponse().setErrorcode(ErrorCodeConstants.SYSTEM_ERROR).setErrormsg(ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION); + + } + } + public class RisSaveTask implements Runnable { + + private CountDownLatch countDownLatch; + private MasterRisMapper masterRisMapper; + private List lisList; + + private RisSaveTask(CountDownLatch countDownLatch, + MasterRisMapper masterRisMapper, + List lisList) { + this.lisList = lisList; + this.masterRisMapper = masterRisMapper; + this.countDownLatch = countDownLatch; + } + + @Override + public void run() { + try { + for (RisReportModel model : lisList) { + try { + masterRisMapper.deleteRisData(model); + masterRisMapper.saveRisData(model); + } catch (Exception e) { + continue; + } + + } + } finally { + countDownLatch.countDown(); + } + + } + } + @Override + public void saveRisItemsData(List list) { + masterRisMapper.saveRisItemsData(list); + } +} diff --git a/platform-biz-service/src/main/resources/mainOrm/master/MasterRis.xml b/platform-biz-service/src/main/resources/mainOrm/master/MasterRis.xml new file mode 100644 index 0000000..daf3910 --- /dev/null +++ b/platform-biz-service/src/main/resources/mainOrm/master/MasterRis.xml @@ -0,0 +1,95 @@ + + + + + + INSERT INTO ris_report_info( + R_ID, + TITLE, + TYPE, + VCCARDNO, + NAME, + BHNUM, + PHONE, + AGE, + SEX, + IMGS, + ITEM_FINDING, + ITEM_DIAGNOSIS, + ITEM_RESULT, + APPLY_TIME, + CHECK_TIME, + PUBLISH_TIME, + APPLY_DOCTOR, + APPLY_DEPT, + CHECKER, + MODIFIED, + CREATED, + HOSPITAL_ID, + ITEM_JSON + ) VALUES ( + ${R_ID}, + ${TITLE}, + ${TYPE}, + ${VCCARDNO}, + ${NAME}, + ${BHNUM}, + ${PHONE}, + ${AGE}, + ${SEX}, + ${IMGS}, + ${ITEM_FINDING}, + ${ITEM_DIAGNOSIS}, + ${ITEM_RESULT}, + ${APPLY_TIME}, + ${CHECK_TIME}, + ${PUBLISH_TIME}, + ${APPLY_DOCTOR}, + ${APPLY_DEPT}, + ${CHECKER}, + ${MODIFIED}, + ${CREATED}, + ${HOSPITAL_ID}, + ${ITEM_JSON} + ) + + + + + insert into ris_report_item ( + R_ID, + CODE, + NAME, + RESULT, + RESULT_FLAG, + REF, + RESULT_TYPE, + UNIT, + PRINT_ORDER, + HOSPITAL_ID + ) + values + + ( + #{item.R_ID,jdbcType=VARCHAR}, + #{item.CODE,jdbcType=VARCHAR}, + #{item.NAME,jdbcType=VARCHAR}, + #{item.RESULT,jdbcType=VARCHAR}, + #{item.RESULT_FLAG,jdbcType=VARCHAR}, + #{item.REF,jdbcType=VARCHAR}, + #{item.RESULT_TYPE,jdbcType=VARCHAR}, + #{item.UNIT,jdbcType=VARCHAR}, + #{item.PRINT_ORDER,jdbcType=VARCHAR}, + #{item.HOSPITAL_ID,jdbcType=VARCHAR} + ) + + + + + DELETE FROM ris_report_info WHERE R_ID = #{R_ID} AND HOSPITAL_ID = #{HOSPITAL_ID} + + + + DELETE FROM ris_report_item WHERE R_ID = #{R_ID} AND HOSPITAL_ID = #{HOSPITAL_ID} + + \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/dtdyrm/DtdyrmFmService.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/dtdyrm/DtdyrmFmService.java new file mode 100644 index 0000000..bba405b --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/dtdyrm/DtdyrmFmService.java @@ -0,0 +1,308 @@ +package com.lyms.hospitalapi.dtdyrm; + +import com.lyms.hospitalapi.dzfy.Fm; +import com.lyms.hospitalapi.qhddeyy.QhddeyyFmServiceImpl; +import com.lyms.hospitalapi.qhdfy.FmItem; +import com.lyms.platform.biz.service.PatientsService; +import com.lyms.platform.common.enums.FmTypeEnums; +import com.lyms.platform.common.enums.RenShenJieJuEnums; +import com.lyms.platform.common.enums.TpmcTypeEnums; +import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.ExceptionUtils; +import com.lyms.platform.common.utils.StringUtils; +import com.lyms.platform.operate.web.facade.BabyBookbuildingFacade; +import com.lyms.platform.operate.web.facade.MatDeliverFacade; +import com.lyms.platform.operate.web.facade.PatientServiceFacade; +import com.lyms.platform.operate.web.request.MatDeliverAddRequest; +import com.lyms.platform.permission.model.Users; +import com.lyms.platform.permission.model.UsersQuery; +import com.lyms.platform.permission.service.UsersService; +import com.lyms.platform.pojo.MaternalDeliverModel; +import com.lyms.platform.pojo.Patients; +import com.lyms.platform.query.PatientsQuery; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; + +@Service +public class DtdyrmFmService implements IdtdyrmFmService { + + @Autowired + private PatientsService patientsService; + + @Autowired + private MatDeliverFacade matDeliverFacade; + + @Autowired + private UsersService usersService; + + @Autowired + private BabyBookbuildingFacade babyBookbuildingFacade; + + @Autowired + private PatientServiceFacade patientServiceFacade; + + private static Map ONE_ENUMS = new HashMap<>(); + + private static Map babyMap = new HashMap<>(); + + private static final String HOSPITALID = "2100002419"; + + @Override + public void queryFmPatient(List list) { + SaveFm sfm = new SaveFm(list); + Thread t = new Thread(sfm); + t.start(); + } + + + + public class SaveFm implements Runnable{ + + private List allList; + + public SaveFm(List list){ + this.allList=list; + } + + public void run(){ + + SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + try { + System.out.println("fm=" + allList.toString()); + + List users = new ArrayList (); + Date dueDate = null; + List babies = new ArrayList <>(); + MatDeliverAddRequest deliverAddRequest = new MatDeliverAddRequest(); + Patients patient =null; + for (Fm allFm : allList) { +// System.out.println("0-------------" + allFm.getBABY_PREGNANCY_OUT()); + if (!"1".equals(allFm.getBABY_PREGNANCY_OUT())) { + System.out.println("BABY_PREGNANCY_OUT != 1"); + continue; + } + if (StringUtils.isEmpty(allFm.getPHONE()) && StringUtils.isEmpty(allFm.getIDCARD())) { + continue; + } + PatientsQuery query = new PatientsQuery(); + query.setYn(YnEnums.YES.getId()); + //20201230 半年后把这个打开 +// query.setType(1); //孕妇 +// query.setDueStatus(0); //未终止妊娠 + String[] strs = new String[]{allFm.getPHONE(), allFm.getIDCARD()}; + query.setPc(strs); + //查询该孕妇是否在孕产婴系统中建档 +// System.out.println("1----query--" + query.convertToQuery().convertToMongoQuery()); + List patientses = patientsService.queryPatient(query); +// System.out.println("2----patientses--" + ( CollectionUtils.isNotEmpty(patientses)?patientses.size():null)); + + //获取指定医生id + try { + System.out.println("query hosptial chanke doctor--"); + UsersQuery usersQuery = new UsersQuery(); + usersQuery.setYn(YnEnums.YES.getId()); + usersQuery.setOrgId(new Integer(Integer.parseInt(HOSPITALID))); + usersQuery.setName("产科"); + users = usersService.queryUsers(usersQuery); + } catch (NumberFormatException e) { + e.printStackTrace(); + } + if (CollectionUtils.isNotEmpty(patientses) && patientses.size()>0) { + patient = patientses.get(0); + + } else{ + System.out.println("no patients in database:"+ allFm.toString()); + continue; + } + + if (patient != null && StringUtils.isNotEmpty(patient.getId())) { + if (CollectionUtils.isNotEmpty(users) && users.get(0).getId() != null) { + if (!StringUtils.isNotEmpty(allFm.getBABY_DELIVERY_TIME())) { + Date dateTime = fmt.parse(allFm.getBABY_DELIVERY_TIME()); + if (dateTime==null) { + continue; + } else { + dueDate = dateTime; + } + } else { + continue; + } + + Map > map = new HashMap <>(); + Map map1 = new HashMap <>(); + Map map2 = new HashMap <>(); + Map map3 = new HashMap <>(); + Map totalMap = new HashMap <>(); + + Integer prod_Process_One = allFm.getPROD_PROCESS_ONE(); + Integer prod_Process_Two = allFm.getPROD_PROCESS_TWO(); + Integer prod_Process_Three = allFm.getPROD_PROCESS_THREE(); + if (prod_Process_One != null) { + map1.put("h", String.valueOf(prod_Process_One.intValue() / 60)); + map1.put("m", String.valueOf(prod_Process_One.intValue() % 60)); + map.put("one", map1); + } + if (prod_Process_Two != null) { + map2.put("h", String.valueOf(prod_Process_Two.intValue() / 60)); + map2.put("m", String.valueOf(prod_Process_Two.intValue() % 60)); + map.put("two", map2); + } + if (prod_Process_Three != null) { + map3.put("h", String.valueOf(prod_Process_Three.intValue() / 60)); + map3.put("m", String.valueOf(prod_Process_Three.intValue() % 60)); + map.put("three", map3); + } + + if (StringUtils.isNotEmpty(allFm.getTOTAL_PROCESS())){ + int hProcess = Integer.parseInt(allFm.getTOTAL_PROCESS())/60;//总产程小时数 + int mProcess = Integer.parseInt(allFm.getTOTAL_PROCESS())%60;//总产程分钟数 + totalMap.put("h",String.valueOf(hProcess)); + totalMap.put("m",String.valueOf(mProcess)); + } + deliverAddRequest.setProdprocess(map); + deliverAddRequest.setTotalprocess(totalMap); +// System.out.println("6----------" + allFm.getDELIVER_DOCTOR()); + + deliverAddRequest.setDeliverDoctor(allFm.getDELIVER_DOCTOR()); + deliverAddRequest.setDueDate(DateUtil.getyyyy_MM_dd(dueDate)); + deliverAddRequest.setParentId(patient.getId()); + deliverAddRequest.setPid(patient.getPid()); + deliverAddRequest.setOperationCause("-"); + String week = ""; + if (StringUtils.isNotEmpty(allFm.getDUE_WEEK())) { + + week = allFm.getDUE_WEEK() + "周"; + if (StringUtils.isNotEmpty(allFm.getDUE_WEEK()) && StringUtils.isNotEmpty(allFm.getDUE_DAY())) { + week += allFm.getDUE_DAY() + "天"; + } + + deliverAddRequest.setDueWeek(week); + } + + deliverAddRequest.setTireNumber(allFm.getFETUS_NUM());// 胎数(之前赋值为死值1) + Integer placenta_Num = allFm.getPLACENTA_NUM(); + if (placenta_Num != null) { + deliverAddRequest.setPlacenta(allFm.getPLACENTA_NUM().toString());// 胎盘(之前赋值为死值1) + } + if ("完好".equals(allFm.getPERINEAL_CONDITION()) || "".equals(allFm.getPERINEAL_CONDITION())) { + deliverAddRequest.setPerinealCondition("full"); + } else if ("会阴切开".equals(allFm.getPERINEAL_CONDITION()) || "侧切".equals(allFm.getPERINEAL_CONDITION())) { + deliverAddRequest.setPerinealCondition("split"); + } + + if ("一度裂伤".equals(allFm.getPERINEAL_CONDITION())) { + deliverAddRequest.setSiLielevel(1); + } else if ("二度裂伤".equals(allFm.getPERINEAL_CONDITION())) { + deliverAddRequest.setSiLielevel(2); + } else if ("三度裂伤".equals(allFm.getPERINEAL_CONDITION())) { + deliverAddRequest.setSiLielevel(3); + } + + Integer th_Lose = allFm.getTH_LOSE_BLOOD(); + if (th_Lose != null) { + if (StringUtils.isNotEmpty(allFm.getTH_LOSE_BLOOD().toString())) { + deliverAddRequest.settHloseBloodL(Double.parseDouble(allFm.getTH_LOSE_BLOOD().toString())); + } + } + + Map deliveryMode = new HashMap(); //分娩方式 + + String fmfs = ""; + if (allFm.getDELIVERY_MODE() != null + && ("手术产".equals(allFm.getDELIVERY_MODE()) + ||"剖宫产".equals(allFm.getDELIVERY_MODE())) + ) { + fmfs = FmTypeEnums.O1.getId(); + } else { + fmfs = FmTypeEnums.O.getId(); + } + deliveryMode.put("fmfs", fmfs); + deliverAddRequest.setDeliveryMode(deliveryMode); + //胎盘信息 + List extPlacentas = new ArrayList <>(); + MaternalDeliverModel.ExtPlacenta extPlacenta = new MaternalDeliverModel.ExtPlacenta(); + String tpmcType = ""; //胎盘娩出方式 + if ("手术产".equals(allFm.getTMCTYPE()) || "手取胎盘".equals(allFm.getTMCTYPE())) { + tpmcType = TpmcTypeEnums.O2.getId(); + } else if ("自然产出".equals(allFm.getTMCTYPE()) || "自然娩出".equals(allFm.getTMCTYPE())) { + tpmcType = TpmcTypeEnums.O.getId(); + } + extPlacenta.setTpmcType(tpmcType); + extPlacentas.add(extPlacenta); + deliverAddRequest.setExtPlacentas(extPlacentas); + + + //儿童 + MatDeliverAddRequest.Baby baby = new MatDeliverAddRequest.Baby(); + baby.setBabyWeight(allFm.getBABY_WEIGHT() == null ? null : allFm.getBABY_WEIGHT().toString()); + Map as = new HashMap <>(); + String pf1 = String.valueOf(allFm.getBABY_APGAR_SCORE_ONE()); + String pf5 = String.valueOf(allFm.getBABY_APGAR_SCORE_FIVE()); + String pf10 = String.valueOf(allFm.getBABY_APGAR_SCORE_TEN()); + if (pf1 != null) { + as.put("pf1", pf1); + } + if (pf5 != null) { + as.put("pf5", pf5); + } + if (pf10 != null) { + as.put("pf10", pf10); + } + + + baby.setApgarScore(as); + baby.setBabyGender("男".equals(allFm.getBABY_SEX()) ? "1" : "0"); + String babyHeight = String.valueOf(allFm.getBABY_HEIGHT()); + String babyWeight = String.valueOf(allFm.getBABY_WEIGHT()); + Integer baby_Asphyxiam = allFm.getBABY_ASPHYXIAM(); + if (babyHeight != null) { + baby.setBabyHeight(babyHeight);//新生儿生长 + } + if (babyWeight != null) { + baby.setBabyWeight(babyWeight);//新生儿重量 + } + if (baby_Asphyxiam != null) { + baby.setAsphyxiaM(String.valueOf(baby_Asphyxiam)); //窒息分钟 + } + + baby.setDeformity((allFm.getBABY_DEFORMITY() == null ? 0 : 1)); //畸形 0非畸形 1畸形 + + String baby_Pregnancy_Out = allFm.getBABY_PREGNANCY_OUT()=="1"?"活产":""; + if(baby_Pregnancy_Out!=null && StringUtils.isNotEmpty(baby_Pregnancy_Out)){ + baby.setPregnancyOut(RenShenJieJuEnums.getIdByName("活产")); // 妊娠结局 + } + +// System.out.println("7-------------" + allFm.getBABY_PREGNANCY_OUT() == "1" ? "活产" : ""); + baby.setPregnancyOut(RenShenJieJuEnums.getIdByName("活产")); // 妊娠结局 + + baby.setDueTime(DateUtil.getyyyy_MM_dd_hms(dueDate));//分娩时间 + babies.add(baby); + + } + } + } + //因为每次传过来的是一个孕妇分娩数据,故在循环外 + if (patient != null && StringUtils.isNotEmpty(patient.getId()) && CollectionUtils.isNotEmpty(babies)) { + deliverAddRequest.setBabies(babies); + deliverAddRequest.setFmHospital(HOSPITALID); + ExceptionUtils.catchException("deliverAddRequest===" + deliverAddRequest); + if (users != null && users.size() > 0) { + matDeliverFacade.addOrUpdateMatDeliver(deliverAddRequest, users.get(0).getId()); + } + } + + } catch (Exception e) { + ExceptionUtils.catchException(e, "执行异常"); + e.printStackTrace(); + } + + + } + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/dtdyrm/IdtdyrmFmService.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/dtdyrm/IdtdyrmFmService.java new file mode 100644 index 0000000..d658092 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/dtdyrm/IdtdyrmFmService.java @@ -0,0 +1,9 @@ +package com.lyms.hospitalapi.dtdyrm; + +import com.lyms.hospitalapi.dzfy.Fm; + +import java.util.List; + +public interface IdtdyrmFmService { + public void queryFmPatient(List list); +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FmController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FmController.java index 5b87e52..ca179c0 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FmController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FmController.java @@ -1,5 +1,6 @@ package com.lyms.platform.operate.web.controller; +import com.lyms.hospitalapi.dtdyrm.IdtdyrmFmService; import com.lyms.hospitalapi.dzfy.Fm; import com.lyms.hospitalapi.linchengfy.LcfyFmService; import com.lyms.hospitalapi.lpfy.IlpFyFmService; @@ -35,6 +36,8 @@ public class FmController { @Autowired private IQhddeyyFmServcie qhddeyyFmServcie; + @Autowired + private IdtdyrmFmService idtdyrmFmService; @@ -51,12 +54,9 @@ public class FmController { }if("45".equals(models.get(0).getVision())){ qhddeyyFmServcie.queryFmPatient(models); }if ("50".equals(models.get(0).getVision())){ - //TODO 处理大同分娩数据 + idtdyrmFmService.queryFmPatient(models); } - - - return JsonUtil.array2JsonString(models); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RisController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RisController.java new file mode 100644 index 0000000..7aee4db --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RisController.java @@ -0,0 +1,52 @@ +package com.lyms.platform.operate.web.controller; + +import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.ExceptionUtils; +import com.lyms.platform.common.utils.JsonUtil; +import com.lyms.platform.operate.web.request.LisReportModelRequest; +import com.lyms.platform.permission.model.LisReportItemModel; +import com.lyms.platform.permission.model.LisReportModel; +import com.lyms.platform.permission.model.RisReportModel; +import com.lyms.platform.permission.service.RisService; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +@Controller +@RequestMapping("/ris") +public class RisController extends BaseController { + + @Autowired + private RisService risService; + @Autowired + @Qualifier("commonThreadPool") + private ThreadPoolTaskExecutor commonThreadPool; + + /** + * 保存各个医院上传上来的ris数据,该数据保存在mysql数据库 + * 每条lis数据中保存了属于那个医院的id + * 每个医院id是配置在相应单独部署的his项目中 + * @param models + * @param httpServletRequest + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/saveRisData") + @ResponseBody + public BaseResponse saveLisData(@RequestBody List models, + HttpServletRequest httpServletRequest) { + + System.out.println("resivce size = " + models.size()); + return risService.saveRisData(models,commonThreadPool); + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java index 22a55c6..7befa3e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java @@ -5262,7 +5262,7 @@ public class BookbuildingFacade { patient.setBookbuildingDoctor(String.valueOf(users.get(0).getId())); } } - yunBookbuildingService.update(patient,patient.getId()); + // yunBookbuildingService.update(patient,patient.getId()); } boolean a=false;