liusheng
3 小时以前 7518413aeb91ea9b9dd80c7a5d51057ff616a8f1
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -485,11 +485,26 @@
                        pmiJB.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorIcd : errorIcd);
                        patMedInhospMapper.updatePatMedInhosp(pmiJB);
                    } else {
                        int flag = 0;
                        for (ServiceTaskdiag serviceTaskdept1 : serviceTaskdiags) {
                            writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiJB, patArchive, 3, config);
                            //必须科室或病区能匹配上,才可以用这个疾病创建子任务(主要处理一个疾病在多个病区或科室出现)
                            if (StringUtils.isNotEmpty(serviceTaskdept1.getDeptCode()) && serviceTaskdept1.getDeptCode().equals(pmiJB.getLeaveldeptcode())) {
                                writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiJB, patArchive, 3, config);
                                flag = 1;
                            } else if (StringUtils.isNotEmpty(serviceTaskdept1.getWardCode()) && serviceTaskdept1.getWardCode().equals(pmiJB.getLeavehospitaldistrictcode())) {
                                writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiJB, patArchive, 3, config);
                                flag = 1;
                            }
                        }
//                        pmiJB.setDiagcheckFlag("1");
//                        patMedInhospMapper.updatePatMedInhosp(pmiJB);
                        if (flag == 0) {
                            log.error("该科室或病区对于患者所患疾病未配置长期任务,患者:{}", pmiJB.getInhospid());
                            errorIcd = "该科室或病区对于患者所患疾病未配置长期任务;";
                            PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiJB.getInhospid());
                            pmiJB.setDiagcheckFlag("2");
                            pmiJB.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorIcd : errorIcd);
                            patMedInhospMapper.updatePatMedInhosp(pmiJB);
                        }
                    }
                } catch (Exception e) {
@@ -916,7 +931,7 @@
            } else if (patMedInhosp1.getInhospstate().equals("0")) {
                serviceSubtask.setVisitDeptCode(patMedInhosp1.getDeptcode());
                serviceSubtask.setVisitDeptName(patMedInhosp1.getDeptname());
                if(type==5){
                if (type == 5) {
                    serviceSubtask.setVisitDeptCode(patMedInhosp1.getHospitaldistrictcode());
                    serviceSubtask.setVisitDeptName(patMedInhosp1.getHospitaldistrictname());
                }
@@ -1087,10 +1102,10 @@
    /**
     *
     * @param taskid 任务id
     * @param check 是否需要校验
     * @param taskid              任务id
     * @param check               是否需要校验
     * @param patMedOperationItem 手术记录
     * @param config 配置信息 visit.early.day
     * @param config              配置信息 visit.early.day
     */
    //将患者放到subtask中 手术专用
    private void writeInSubTaskForOp(Long taskid, Boolean check, PatMedOperationItem patMedOperationItem, String config) {