Commit ad8d95d42679b18675002842cad8e72eb2cb7730
1 parent
b4887a0676
Exists in
master
and in
6 other branches
荣成接口
Showing 7 changed files with 575 additions and 21 deletions
- platform-dal/src/main/java/com/lyms/platform/query/AntExRecordQuery.java
- platform-dal/src/main/java/com/lyms/platform/query/FolicAcidQuery.java
- platform-dal/src/main/java/com/lyms/platform/query/PremaritalCheckupQuery.java
- platform-dal/src/main/java/com/lyms/platform/query/SieveResultQuery.java
- platform-operate-api/src/main/java/com/lyms/hospitalapi/rcfy/RcGlxtService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java
- platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml
platform-dal/src/main/java/com/lyms/platform/query/AntExRecordQuery.java
View file @
ad8d95d
| ... | ... | @@ -65,6 +65,9 @@ |
| 65 | 65 | private Integer type; |
| 66 | 66 | private String neqId; |
| 67 | 67 | |
| 68 | + | |
| 69 | + private Date modifiedStart; | |
| 70 | + private Date modifiedEnd; | |
| 68 | 71 | //处理意见 |
| 69 | 72 | private String treatOpinion; |
| 70 | 73 | |
| ... | ... | @@ -234,6 +237,22 @@ |
| 234 | 237 | return birthStart; |
| 235 | 238 | } |
| 236 | 239 | |
| 240 | + public Date getModifiedStart() { | |
| 241 | + return modifiedStart; | |
| 242 | + } | |
| 243 | + | |
| 244 | + public void setModifiedStart(Date modifiedStart) { | |
| 245 | + this.modifiedStart = modifiedStart; | |
| 246 | + } | |
| 247 | + | |
| 248 | + public Date getModifiedEnd() { | |
| 249 | + return modifiedEnd; | |
| 250 | + } | |
| 251 | + | |
| 252 | + public void setModifiedEnd(Date modifiedEnd) { | |
| 253 | + this.modifiedEnd = modifiedEnd; | |
| 254 | + } | |
| 255 | + | |
| 237 | 256 | public void setBirthStart(Date birthStart) { |
| 238 | 257 | this.birthStart = birthStart; |
| 239 | 258 | } |
| ... | ... | @@ -689,6 +708,14 @@ |
| 689 | 708 | c = Criteria.where("cDay").lte(cDueWeekEnd); |
| 690 | 709 | } |
| 691 | 710 | } |
| 711 | + | |
| 712 | + if (null != modifiedStart && modifiedEnd != null) { | |
| 713 | + if (null != c) { | |
| 714 | + c = c.where("modified").gte(modifiedStart).lte(modifiedEnd); | |
| 715 | + } else { | |
| 716 | + c = Criteria.where("modified").gte(modifiedStart).lte(modifiedEnd); | |
| 717 | + } | |
| 718 | + } | |
| 692 | 719 | |
| 693 | 720 | if (null != c) { |
| 694 | 721 | condition = condition.andCondition(new MongoCondition(c)); |
platform-dal/src/main/java/com/lyms/platform/query/FolicAcidQuery.java
View file @
ad8d95d
| ... | ... | @@ -53,6 +53,9 @@ |
| 53 | 53 | //患者ID |
| 54 | 54 | private List<String> parentIds; |
| 55 | 55 | |
| 56 | + private Date modifiedStart; | |
| 57 | + private Date modifiedEnd; | |
| 58 | + | |
| 56 | 59 | public List<String> getParentIds() { |
| 57 | 60 | return parentIds; |
| 58 | 61 | } |
| 59 | 62 | |
| ... | ... | @@ -103,10 +106,33 @@ |
| 103 | 106 | c1 = c1.lte(drawTimeEnd); |
| 104 | 107 | } |
| 105 | 108 | } |
| 109 | + if (null != modifiedStart && modifiedEnd != null) { | |
| 110 | + if (null != c1) { | |
| 111 | + c1 = c1.where("modified").gte(modifiedStart).lte(modifiedEnd); | |
| 112 | + } else { | |
| 113 | + c1 = Criteria.where("modified").gte(modifiedStart).lte(modifiedEnd); | |
| 114 | + } | |
| 115 | + } | |
| 106 | 116 | if (c1!=null) { |
| 107 | 117 | condition = condition.andCondition(new MongoCondition(c1)); |
| 108 | 118 | } |
| 109 | 119 | return condition.toMongoQuery(); |
| 120 | + } | |
| 121 | + | |
| 122 | + public Date getModifiedStart() { | |
| 123 | + return modifiedStart; | |
| 124 | + } | |
| 125 | + | |
| 126 | + public void setModifiedStart(Date modifiedStart) { | |
| 127 | + this.modifiedStart = modifiedStart; | |
| 128 | + } | |
| 129 | + | |
| 130 | + public Date getModifiedEnd() { | |
| 131 | + return modifiedEnd; | |
| 132 | + } | |
| 133 | + | |
| 134 | + public void setModifiedEnd(Date modifiedEnd) { | |
| 135 | + this.modifiedEnd = modifiedEnd; | |
| 110 | 136 | } |
| 111 | 137 | |
| 112 | 138 | public List<String> getHospitalList() { |
platform-dal/src/main/java/com/lyms/platform/query/PremaritalCheckupQuery.java
View file @
ad8d95d
| ... | ... | @@ -30,6 +30,8 @@ |
| 30 | 30 | private Date premaritalUpTimeEnd; |
| 31 | 31 | //医院ID |
| 32 | 32 | private String hospitalId; |
| 33 | + | |
| 34 | + private List<String> hospitalIds; | |
| 33 | 35 | //创建时间 |
| 34 | 36 | private Date created; |
| 35 | 37 | //修改时间 |
| 36 | 38 | |
| ... | ... | @@ -51,7 +53,10 @@ |
| 51 | 53 | //建档ID |
| 52 | 54 | List<String> parentIds; |
| 53 | 55 | |
| 56 | + private Date modifiedStart; | |
| 57 | + private Date modifiedEnd; | |
| 54 | 58 | |
| 59 | + | |
| 55 | 60 | @Override |
| 56 | 61 | public MongoQuery convertToQuery() { |
| 57 | 62 | MongoCondition condition = MongoCondition.newInstance(); |
| ... | ... | @@ -64,6 +69,9 @@ |
| 64 | 69 | if (StringUtils.isNotBlank(hospitalId)) { |
| 65 | 70 | condition = condition.and("hospitalId", hospitalId, MongoOper.IS); |
| 66 | 71 | } |
| 72 | + if (CollectionUtils.isNotEmpty(hospitalIds)) { | |
| 73 | + condition = condition.and("hospitalId", hospitalIds, MongoOper.IN); | |
| 74 | + } | |
| 67 | 75 | if(CollectionUtils.isNotEmpty(parentIds)){ |
| 68 | 76 | condition = condition.and("parentId", parentIds, MongoOper.IN); |
| 69 | 77 | } |
| 70 | 78 | |
| ... | ... | @@ -108,10 +116,42 @@ |
| 108 | 116 | c1 = c1.lte(premaritalUpTimeEnd); |
| 109 | 117 | } |
| 110 | 118 | } |
| 119 | + if (null != modifiedStart && modifiedEnd != null) { | |
| 120 | + if (null != c1) { | |
| 121 | + c1 = c1.where("modified").gte(modifiedStart).lte(modifiedEnd); | |
| 122 | + } else { | |
| 123 | + c1 = Criteria.where("modified").gte(modifiedStart).lte(modifiedEnd); | |
| 124 | + } | |
| 125 | + } | |
| 126 | + | |
| 111 | 127 | if (c1!=null) { |
| 112 | 128 | condition = condition.andCondition(new MongoCondition(c1)); |
| 113 | 129 | } |
| 114 | 130 | return condition.toMongoQuery(); |
| 131 | + } | |
| 132 | + | |
| 133 | + public Date getModifiedStart() { | |
| 134 | + return modifiedStart; | |
| 135 | + } | |
| 136 | + | |
| 137 | + public void setModifiedStart(Date modifiedStart) { | |
| 138 | + this.modifiedStart = modifiedStart; | |
| 139 | + } | |
| 140 | + | |
| 141 | + public Date getModifiedEnd() { | |
| 142 | + return modifiedEnd; | |
| 143 | + } | |
| 144 | + | |
| 145 | + public void setModifiedEnd(Date modifiedEnd) { | |
| 146 | + this.modifiedEnd = modifiedEnd; | |
| 147 | + } | |
| 148 | + | |
| 149 | + public List<String> getHospitalIds() { | |
| 150 | + return hospitalIds; | |
| 151 | + } | |
| 152 | + | |
| 153 | + public void setHospitalIds(List<String> hospitalIds) { | |
| 154 | + this.hospitalIds = hospitalIds; | |
| 115 | 155 | } |
| 116 | 156 | |
| 117 | 157 | public List<String> getParentIds() { |
platform-dal/src/main/java/com/lyms/platform/query/SieveResultQuery.java
View file @
ad8d95d
| ... | ... | @@ -5,6 +5,7 @@ |
| 5 | 5 | import com.lyms.platform.common.dao.operator.MongoCondition; |
| 6 | 6 | import com.lyms.platform.common.dao.operator.MongoOper; |
| 7 | 7 | import com.lyms.platform.common.dao.operator.MongoQuery; |
| 8 | +import org.springframework.data.mongodb.core.query.Criteria; | |
| 8 | 9 | |
| 9 | 10 | import java.util.Date; |
| 10 | 11 | |
| ... | ... | @@ -49,6 +50,9 @@ |
| 49 | 50 | //是否通知 |
| 50 | 51 | private Integer isNotify; |
| 51 | 52 | |
| 53 | + private Date modifiedStart; | |
| 54 | + private Date modifiedEnd; | |
| 55 | + | |
| 52 | 56 | public Integer getIsNotify() { |
| 53 | 57 | return isNotify; |
| 54 | 58 | } |
| 55 | 59 | |
| ... | ... | @@ -123,9 +127,36 @@ |
| 123 | 127 | if (null != renShenResult) { |
| 124 | 128 | condition = condition.and("renShenResult", renShenResult, MongoOper.IS); |
| 125 | 129 | } |
| 130 | + Criteria c1 = null; | |
| 131 | + if (null != modifiedStart && modifiedEnd != null) { | |
| 132 | + if (null != c1) { | |
| 133 | + c1 = c1.where("modified").gte(modifiedStart).lte(modifiedEnd); | |
| 134 | + } else { | |
| 135 | + c1 = Criteria.where("modified").gte(modifiedStart).lte(modifiedEnd); | |
| 136 | + } | |
| 137 | + } | |
| 138 | + if (null != c1) { | |
| 139 | + condition = condition.andCondition(new MongoCondition(c1)); | |
| 140 | + } | |
| 141 | + | |
| 126 | 142 | return condition.toMongoQuery(); |
| 127 | 143 | } |
| 128 | 144 | |
| 145 | + public Date getModifiedStart() { | |
| 146 | + return modifiedStart; | |
| 147 | + } | |
| 148 | + | |
| 149 | + public void setModifiedStart(Date modifiedStart) { | |
| 150 | + this.modifiedStart = modifiedStart; | |
| 151 | + } | |
| 152 | + | |
| 153 | + public Date getModifiedEnd() { | |
| 154 | + return modifiedEnd; | |
| 155 | + } | |
| 156 | + | |
| 157 | + public void setModifiedEnd(Date modifiedEnd) { | |
| 158 | + this.modifiedEnd = modifiedEnd; | |
| 159 | + } | |
| 129 | 160 | |
| 130 | 161 | public Integer getCqResult() { |
| 131 | 162 | return cqResult; |
platform-operate-api/src/main/java/com/lyms/hospitalapi/rcfy/RcGlxtService.java
View file @
ad8d95d
| ... | ... | @@ -4,7 +4,6 @@ |
| 4 | 4 | import com.lyms.platform.biz.service.*; |
| 5 | 5 | |
| 6 | 6 | import com.lyms.platform.common.enums.FmTypeEnums; |
| 7 | -import com.lyms.platform.common.enums.RenShenJieJuEnums; | |
| 8 | 7 | import com.lyms.platform.common.enums.YnEnums; |
| 9 | 8 | import com.lyms.platform.common.utils.DateUtil; |
| 10 | 9 | import com.lyms.platform.common.utils.ExceptionUtils; |
| 11 | 10 | |
| ... | ... | @@ -20,15 +19,12 @@ |
| 20 | 19 | import com.lyms.platform.pojo.*; |
| 21 | 20 | import com.lyms.platform.query.*; |
| 22 | 21 | import org.apache.commons.collections.MapUtils; |
| 23 | -import org.apache.commons.dbutils.QueryRunner; | |
| 24 | 22 | import org.springframework.beans.factory.annotation.Autowired; |
| 25 | 23 | import org.springframework.data.domain.Sort; |
| 26 | 24 | import org.springframework.stereotype.Service; |
| 27 | 25 | |
| 28 | 26 | import java.sql.*; |
| 29 | -import java.util.HashMap; | |
| 30 | -import java.util.List; | |
| 31 | -import java.util.Map; | |
| 27 | +import java.util.*; | |
| 32 | 28 | |
| 33 | 29 | |
| 34 | 30 | /** |
| ... | ... | @@ -51,6 +47,8 @@ |
| 51 | 47 | |
| 52 | 48 | |
| 53 | 49 | @Autowired |
| 50 | + private PremaritalCheckupService premaritalCheckupService; | |
| 51 | + @Autowired | |
| 54 | 52 | private AntenatalExaminationService antenatalExaminationService; |
| 55 | 53 | |
| 56 | 54 | @Autowired |
| 57 | 55 | |
| 58 | 56 | |
| 59 | 57 | |
| 60 | 58 | |
| 61 | 59 | |
| 62 | 60 | |
| 63 | 61 | |
| 64 | 62 | |
| ... | ... | @@ -63,25 +61,271 @@ |
| 63 | 61 | @Autowired |
| 64 | 62 | private MatDeliverService matDeliverService; |
| 65 | 63 | |
| 64 | + @Autowired | |
| 65 | + private MatDeliverFollowService matDeliverFollowService; | |
| 66 | 66 | |
| 67 | + | |
| 67 | 68 | @Autowired |
| 68 | 69 | private SieveService sieveService; |
| 69 | 70 | |
| 71 | + | |
| 70 | 72 | @Autowired |
| 73 | + private AntExRecordService recordService; | |
| 74 | + | |
| 75 | + @Autowired | |
| 71 | 76 | private FolicAcidService folicAcidService; |
| 72 | 77 | |
| 73 | 78 | @Autowired |
| 74 | 79 | private ResidentsArchiveService residentsArchiveService; |
| 75 | 80 | |
| 76 | 81 | private static Map<String,String> hospitalsMap = new HashMap<>(); |
| 77 | - static { | |
| 82 | + static{ | |
| 78 | 83 | hospitalsMap.put("2100001785","371082007011");//荣成市人民医院 |
| 84 | +// hospitalsMap.put("216","216");//荣成市人民医院 | |
| 79 | 85 | hospitalsMap.put("2100001818","371082006011");//荣成市石岛人民医院 |
| 80 | 86 | hospitalsMap.put("2100001772","371082007001");//荣成市中医院 |
| 81 | 87 | hospitalsMap.put("2100001750","371082000011");//荣成市妇幼保健院 |
| 88 | + | |
| 82 | 89 | } |
| 83 | 90 | |
| 91 | + public List<String> getHids() | |
| 92 | + { | |
| 93 | + List<String> hids = new ArrayList<>(); | |
| 94 | + for (String key : hospitalsMap.keySet()) | |
| 95 | + { | |
| 96 | + hids.add(hospitalsMap.get(key)); | |
| 97 | + } | |
| 98 | + return hids; | |
| 99 | + } | |
| 84 | 100 | |
| 101 | + | |
| 102 | + | |
| 103 | + public void saveRcPatientRiskRecord(AntExRecordModel model) { | |
| 104 | + Connection conn = null; | |
| 105 | + PreparedStatement ps = null; | |
| 106 | + try { | |
| 107 | + conn = ConnTools.makeConnection(); | |
| 108 | + | |
| 109 | + Patients patients = patientsService.findOnePatientById(model.getParentId()); | |
| 110 | + | |
| 111 | + List<String> risks = model.gethRisk(); | |
| 112 | + List<String> screens = model.getScreenResult(); | |
| 113 | + //风险妊娠 | |
| 114 | + String fmInfoSql = "insert into MATERNAL_PREGNANCY_RISK(ID,ID_CARD,NAME," + | |
| 115 | + "RIS_TIME,RISK_CATE,RISK_SCREENING_PROGRAM,RISK_SCREENING_CONTENT,RISK_SCREENING_DETAIL,RISK_SCREENING_EXPLAIN,RISK_SCREENING_DETAIL3,RISK_SCREENING_DETAIL4," + | |
| 116 | + "STATUS,HOSPITAL,DOCTOR,OPERATOR,OPERAT_TIME,CREATE_TIME,UPDATE_TIME) " + | |
| 117 | + " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; | |
| 118 | + if (CollectionUtils.isNotEmpty(risks)) | |
| 119 | + { | |
| 120 | + for (String rid : risks) | |
| 121 | + { | |
| 122 | + ps = conn.prepareStatement("delete from MATERNAL_PREGNANCY_RISK WHERE ID='" + model.getId()+rid + "'"); | |
| 123 | + ps.executeUpdate(); | |
| 124 | + | |
| 125 | + ps = conn.prepareStatement(fmInfoSql); | |
| 126 | + ps.setString(1,model.getId()+rid); | |
| 127 | + ps.setString(2, patients.getCardNo()); | |
| 128 | + ps.setString(3, patients.getUsername()); | |
| 129 | + ps.setTimestamp(4, new Timestamp(model.getCheckTime().getTime())); | |
| 130 | + ps.setString(5, "2"); //风险评估 | |
| 131 | + List<String> ids = new LinkedList<>(); | |
| 132 | + getRiskInfo(rid, ids); | |
| 133 | + Collections.reverse(ids); | |
| 134 | + int size = ids.size(); | |
| 135 | + ps.setString(6, size > 0 ? ids.get(0) : null); | |
| 136 | + ps.setString(7, size > 1 ? ids.get(1) : null); | |
| 137 | + ps.setString(8, size > 2 ? ids.get(2) : null); | |
| 138 | + ps.setString(9, size > 3 ? ids.get(3) : null); | |
| 139 | + ps.setString(10, size > 4 ? ids.get(4) : null); | |
| 140 | + ps.setString(11, size > 5 ? ids.get(5) : null); | |
| 141 | + String status = ""; | |
| 142 | + int week = 0; | |
| 143 | + if (patients.getLastMenses() != null && model.getCheckTime() != null) | |
| 144 | + { | |
| 145 | + week = DateUtil.getWeek(patients.getLastMenses(),model.getCheckTime()); | |
| 146 | + | |
| 147 | + //怀孕1~12周为早孕。 怀孕13周~27周为孕中,28周到40周围孕晚期,分娩后是产后,产后42天后不再属于孕期妇女 | |
| 148 | + if (week >=0 && 12 >= week) | |
| 149 | + { | |
| 150 | + status= "1"; | |
| 151 | + } | |
| 152 | + else if (week >=13 && 27 >= week) | |
| 153 | + { | |
| 154 | + status= "2"; | |
| 155 | + } | |
| 156 | + else if (week >=28 && 40 >= week) | |
| 157 | + { | |
| 158 | + status= "3"; | |
| 159 | + } | |
| 160 | + else | |
| 161 | + { | |
| 162 | + status= "4"; | |
| 163 | + } | |
| 164 | + } | |
| 165 | + ps.setString(12, status); | |
| 166 | + ps.setString(13, CommonsHelper.getHospitalName(model.getHospitalId(), organizationService)); | |
| 167 | + ps.setString(14, StringUtils.isNum(model.getCheckDoctor()) ? CommonsHelper.getUserName(model.getCheckDoctor(), usersService) : model.getCheckDoctor()); | |
| 168 | + ps.setString(15, StringUtils.isNum(model.getBuildDoctor()) ? CommonsHelper.getUserName(model.getBuildDoctor(), usersService) : model.getBuildDoctor()); | |
| 169 | + ps.setTimestamp(16, model.getBuildTime()== null ? new Timestamp(model.getCreated().getTime()) : new Timestamp(model.getBuildTime().getTime())); | |
| 170 | + ps.setTimestamp(17, new Timestamp(model.getCreated().getTime())); | |
| 171 | + ps.setTimestamp(18, new Timestamp(model.getModified().getTime())); | |
| 172 | + | |
| 173 | + int saveRcPatientRiskRecord = ps.executeUpdate(); | |
| 174 | + System.out.println("saveRcPatientRiskRecord="+saveRcPatientRiskRecord); | |
| 175 | + } | |
| 176 | + | |
| 177 | + } | |
| 178 | + | |
| 179 | + if (CollectionUtils.isNotEmpty(screens)) | |
| 180 | + { | |
| 181 | + for (String sid : screens) | |
| 182 | + { | |
| 183 | + ps = conn.prepareStatement("delete from MATERNAL_PREGNANCY_RISK WHERE ID='" + model.getId()+sid + "'"); | |
| 184 | + ps.executeUpdate(); | |
| 185 | + | |
| 186 | + | |
| 187 | + ps = conn.prepareStatement(fmInfoSql); | |
| 188 | + ps.setString(1, model.getId() + sid); | |
| 189 | + ps.setString(2, patients.getCardNo()); | |
| 190 | + ps.setString(3, patients.getUsername()); | |
| 191 | + ps.setTimestamp(4, new Timestamp(model.getCheckTime().getTime())); | |
| 192 | + ps.setString(5, "1");//风险筛查 | |
| 193 | + List<String> ids = new LinkedList<>(); | |
| 194 | + getScreenInfo(sid, ids); | |
| 195 | + Collections.reverse(ids); | |
| 196 | + int size = ids.size(); | |
| 197 | + ps.setString(6, size > 0 ? ids.get(0) : null); | |
| 198 | + ps.setString(7, size > 1 ? ids.get(1) : null); | |
| 199 | + ps.setString(8, size > 2 ? ids.get(2) : null); | |
| 200 | + ps.setString(9, size > 3 ? ids.get(3) : null); | |
| 201 | + ps.setString(10, size > 4 ? ids.get(4) : null); | |
| 202 | + ps.setString(11, size > 5 ? ids.get(5) : null); | |
| 203 | + String status = ""; | |
| 204 | + int week = 0; | |
| 205 | + if (patients.getLastMenses() != null && model.getCheckTime() != null) | |
| 206 | + { | |
| 207 | + week = DateUtil.getWeek(patients.getLastMenses(),model.getCheckTime()); | |
| 208 | + | |
| 209 | + //怀孕1~12周为早孕。 怀孕13周~27周为孕中,28周到40周围孕晚期,分娩后是产后,产后42天后不再属于孕期妇女 | |
| 210 | + if (week >=0 && 12 >= week) | |
| 211 | + { | |
| 212 | + status= "1"; | |
| 213 | + } | |
| 214 | + else if (week >=13 && 27 >= week) | |
| 215 | + { | |
| 216 | + status= "2"; | |
| 217 | + } | |
| 218 | + else if (week >=28 && 40 >= week) | |
| 219 | + { | |
| 220 | + status= "3"; | |
| 221 | + } | |
| 222 | + else | |
| 223 | + { | |
| 224 | + status= "4"; | |
| 225 | + } | |
| 226 | + } | |
| 227 | + ps.setString(12, status); | |
| 228 | + ps.setString(13, CommonsHelper.getHospitalName(model.getHospitalId(), organizationService)); | |
| 229 | + ps.setString(14, StringUtils.isNum(model.getCheckDoctor()) ? CommonsHelper.getUserName(model.getCheckDoctor(), usersService) : model.getCheckDoctor()); | |
| 230 | + ps.setString(15, StringUtils.isNum(model.getBuildDoctor()) ? CommonsHelper.getUserName(model.getBuildDoctor(), usersService) : model.getBuildDoctor()); | |
| 231 | + ps.setTimestamp(16, model.getBuildTime()== null ? new Timestamp(model.getCreated().getTime()) : new Timestamp(model.getBuildTime().getTime())); | |
| 232 | + ps.setTimestamp(17, new Timestamp(model.getCreated().getTime())); | |
| 233 | + ps.setTimestamp(18, new Timestamp(model.getModified().getTime())); | |
| 234 | + | |
| 235 | + int saveRcPatientRiskRecord = ps.executeUpdate(); | |
| 236 | + System.out.println("saveRcPatientRiskRecord="+saveRcPatientRiskRecord); | |
| 237 | + } | |
| 238 | + } | |
| 239 | + } | |
| 240 | + catch (Exception e) | |
| 241 | + { | |
| 242 | + ExceptionUtils.catchException(e,"saveRcPatientRiskRecord error."); | |
| 243 | + }finally { | |
| 244 | + try { | |
| 245 | + if (ps != null) | |
| 246 | + { | |
| 247 | + ps.close(); | |
| 248 | + } | |
| 249 | + if (conn != null) | |
| 250 | + { | |
| 251 | + conn.close(); | |
| 252 | + } | |
| 253 | + } catch (SQLException e) { | |
| 254 | + } | |
| 255 | + } | |
| 256 | + | |
| 257 | + } | |
| 258 | + | |
| 259 | + public void riskAndScreen() | |
| 260 | + { | |
| 261 | + BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); | |
| 262 | + basicConfigQuery.setEnable(1); | |
| 263 | + basicConfigQuery.setTypeId("5b023e73422b03d4ad2bf8af"); | |
| 264 | + List<BasicConfig> list = basicConfigService.queryBasicConfig(basicConfigQuery); | |
| 265 | + for(BasicConfig base : list) | |
| 266 | + { | |
| 267 | + System.out.println(base.getId()+" "+base.getName()); | |
| 268 | + } | |
| 269 | + System.out.println("======"); | |
| 270 | + BasicConfigQuery basicConfigQuery1 = new BasicConfigQuery(); | |
| 271 | + basicConfigQuery1.setEnable(1); | |
| 272 | + basicConfigQuery1.setTypeId("fb43fd5a-b153-4cb9-9180-c46f5612ba43"); | |
| 273 | + List<BasicConfig> list1 = basicConfigService.queryBasicConfig(basicConfigQuery1); | |
| 274 | + for(BasicConfig base : list1) | |
| 275 | + { | |
| 276 | + System.out.println(base.getId()+" "+base.getName()); | |
| 277 | + } | |
| 278 | + } | |
| 279 | + | |
| 280 | + | |
| 281 | + public void getScreenInfo(String id,List<String> ids) | |
| 282 | + { | |
| 283 | + | |
| 284 | + BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); | |
| 285 | + basicConfigQuery.setId(id); | |
| 286 | + basicConfigQuery.setEnable(1); | |
| 287 | + basicConfigQuery.setTypeId("5b023e73422b03d4ad2bf8af"); | |
| 288 | + List<BasicConfig> list1 = basicConfigService.queryBasicConfig(basicConfigQuery); | |
| 289 | + if (CollectionUtils.isNotEmpty(list1)) | |
| 290 | + { | |
| 291 | + String pid = list1.get(0).getpId(); | |
| 292 | + if (!"筛查结果".equals(list1.get(0).getName()) && pid!= null) | |
| 293 | + { | |
| 294 | + ids.add(id); | |
| 295 | + getScreenInfo(pid, ids); | |
| 296 | + } | |
| 297 | + else | |
| 298 | + { | |
| 299 | + ids.add(id); | |
| 300 | + } | |
| 301 | + } | |
| 302 | + } | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + public void getRiskInfo(String id,List<String> ids) | |
| 307 | + { | |
| 308 | + | |
| 309 | + BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); | |
| 310 | + basicConfigQuery.setId(id); | |
| 311 | + basicConfigQuery.setEnable(1); | |
| 312 | + basicConfigQuery.setTypeId("fb43fd5a-b153-4cb9-9180-c46f5612ba43"); | |
| 313 | + List<BasicConfig> list1 = basicConfigService.queryBasicConfig(basicConfigQuery); | |
| 314 | + if (CollectionUtils.isNotEmpty(list1)) | |
| 315 | + { | |
| 316 | + String pid = list1.get(0).getpId(); | |
| 317 | + if (!"妊娠风险预警".equals(list1.get(0).getName()) && pid!= null) | |
| 318 | + { | |
| 319 | + ids.add(id); | |
| 320 | + getRiskInfo(pid, ids); | |
| 321 | + } | |
| 322 | + else | |
| 323 | + { | |
| 324 | + ids.add(id); | |
| 325 | + } | |
| 326 | + } | |
| 327 | + } | |
| 328 | + | |
| 85 | 329 | /** |
| 86 | 330 | * |
| 87 | 331 | * |
| ... | ... | @@ -103,7 +347,7 @@ |
| 103 | 347 | * 产前筛查 |
| 104 | 348 | * @param model |
| 105 | 349 | */ |
| 106 | - public void saveRcSieveInfo(SieveResultModel model) | |
| 350 | + public void saveRcSieveInfo(SieveResultModel model,List<String> hids) | |
| 107 | 351 | { |
| 108 | 352 | Connection conn = null; |
| 109 | 353 | PreparedStatement ps = null; |
| ... | ... | @@ -114,7 +358,16 @@ |
| 114 | 358 | ps.executeUpdate(); |
| 115 | 359 | |
| 116 | 360 | |
| 117 | - Patients patients = patientsService.findOnePatientById(model.getParentId()); | |
| 361 | + PatientsQuery patientsQuery = new PatientsQuery(); | |
| 362 | + patientsQuery.setId(model.getParentId()); | |
| 363 | + patientsQuery.setHospitalList(hids); | |
| 364 | + patientsQuery.setYn(YnEnums.YES.getId()); | |
| 365 | + List<Patients> patientses = patientsService.queryPatient(patientsQuery); | |
| 366 | + if (!CollectionUtils.isNotEmpty(patientses)) | |
| 367 | + { | |
| 368 | + return; | |
| 369 | + } | |
| 370 | + Patients patients = patientses.get(0); | |
| 118 | 371 | |
| 119 | 372 | // private String tszhz;// 唐氏综合症 |
| 120 | 373 | // private String sjgjx;// 神经管畸形 |
| ... | ... | @@ -420,9 +673,9 @@ |
| 420 | 673 | ps = conn.prepareStatement(sql); |
| 421 | 674 | ps.setString(1,model.getId()); |
| 422 | 675 | ps.setString(2,resident.getUsername()); |
| 423 | - ps.setString(3,resident.getCertificateNum()); | |
| 424 | - ps.setString(4,null); | |
| 425 | - ps.setString(5,null); | |
| 676 | + ps.setString(3, resident.getCertificateNum()); | |
| 677 | + ps.setString(4, null); | |
| 678 | + ps.setString(5, null); | |
| 426 | 679 | ps.setString(6,null); |
| 427 | 680 | ps.setString(7,null); |
| 428 | 681 | |
| ... | ... | @@ -431,7 +684,7 @@ |
| 431 | 684 | ps.setString(8,null); |
| 432 | 685 | ps.setString(9,null); |
| 433 | 686 | ps.setString(10,null); |
| 434 | - ps.setString(11,null); | |
| 687 | + ps.setString(11, null); | |
| 435 | 688 | ps.setString(12,null); |
| 436 | 689 | |
| 437 | 690 | ps.setString(13, StringUtils.isNum(model.getHunJianDoctor()) ? CommonsHelper.getUserName(model.getHunJianDoctor(), usersService) : model.getHunJianDoctor()); |
| ... | ... | @@ -472,7 +725,7 @@ |
| 472 | 725 | * 产后访视 |
| 473 | 726 | * @param model |
| 474 | 727 | */ |
| 475 | - public void saveRcMatdeliverFollowInfo(MatdeliverFollowModel model) | |
| 728 | + public void saveRcMatdeliverFollowInfo(MatdeliverFollowModel model,List<String> hids) | |
| 476 | 729 | { |
| 477 | 730 | Connection conn = null; |
| 478 | 731 | PreparedStatement ps = null; |
| ... | ... | @@ -486,6 +739,7 @@ |
| 486 | 739 | MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); |
| 487 | 740 | matDeliverQuery.setYn(YnEnums.YES.getId()); |
| 488 | 741 | matDeliverQuery.setId(model.getDeliverId()); |
| 742 | + matDeliverQuery.setFmHospitalList(hids); | |
| 489 | 743 | List<MaternalDeliverModel> maternalDeliverModelList = matDeliverService.query(matDeliverQuery); |
| 490 | 744 | if (CollectionUtils.isEmpty(maternalDeliverModelList)) |
| 491 | 745 | { |
| ... | ... | @@ -920,6 +1174,145 @@ |
| 920 | 1174 | } catch (SQLException e) { |
| 921 | 1175 | } |
| 922 | 1176 | } |
| 1177 | + } | |
| 1178 | + | |
| 1179 | + | |
| 1180 | + public void taskWorker() | |
| 1181 | + { | |
| 1182 | + //十分钟执行一次 | |
| 1183 | + java.util.Date end = new java.util.Date(); | |
| 1184 | + java.util.Date start = new java.util.Date(end.getTime()-2*60*1000); | |
| 1185 | + | |
| 1186 | + List<String> hids = getHids(); | |
| 1187 | + | |
| 1188 | + //孕妇基本信息 | |
| 1189 | + PatientsQuery patientsQuery1 = new PatientsQuery(); | |
| 1190 | + patientsQuery1.setYn(YnEnums.YES.getId()); | |
| 1191 | + patientsQuery1.setModifiedEnd(end); | |
| 1192 | + patientsQuery1.setModifiedStart(start); | |
| 1193 | + List<Patients> patientses = patientsService.queryPatient(patientsQuery1); | |
| 1194 | + System.out.println("xxxxxxpatientses="+patientses.size()+"===="+patientsQuery1.convertToQuery().convertToMongoQuery().toString()); | |
| 1195 | + if (org.apache.commons.collections.CollectionUtils.isNotEmpty(patientses)) | |
| 1196 | + { | |
| 1197 | + for (Patients pat : patientses) | |
| 1198 | + { | |
| 1199 | + saveRcPatientInfo(pat); | |
| 1200 | + } | |
| 1201 | + } | |
| 1202 | + | |
| 1203 | + | |
| 1204 | + //孕妇分娩信息 | |
| 1205 | + MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); | |
| 1206 | + matDeliverQuery.setYn(YnEnums.YES.getId()); | |
| 1207 | + matDeliverQuery.setFmHospitalList(hids); | |
| 1208 | + matDeliverQuery.setModifiedStart(start); | |
| 1209 | + matDeliverQuery.setModifiedEnd(end); | |
| 1210 | + List<MaternalDeliverModel> list2 = matDeliverService.query(matDeliverQuery); | |
| 1211 | + System.out.println("xxxxxx fm="+list2.size()+"===="+matDeliverQuery.convertToQuery().convertToMongoQuery().toString()); | |
| 1212 | + if (org.apache.commons.collections.CollectionUtils.isNotEmpty(list2)) | |
| 1213 | + { | |
| 1214 | + for (MaternalDeliverModel maternalDeliverModel : list2) | |
| 1215 | + { | |
| 1216 | + saveRcFmInfo(maternalDeliverModel); | |
| 1217 | + } | |
| 1218 | + } | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + //新生儿 | |
| 1222 | + MatDeliverQuery matDeliverQuery1 = new MatDeliverQuery(); | |
| 1223 | + matDeliverQuery1.setYn(YnEnums.YES.getId()); | |
| 1224 | + matDeliverQuery1.setFmHospitalList(hids); | |
| 1225 | + matDeliverQuery1.setModifiedStart(start); | |
| 1226 | + matDeliverQuery1.setModifiedEnd(end); | |
| 1227 | + List<MaternalDeliverModel> list1 = matDeliverService.query(matDeliverQuery1); | |
| 1228 | + System.out.println("xxxxxx new baby="+list1.size()+"===="+matDeliverQuery1.convertToQuery().convertToMongoQuery().toString()); | |
| 1229 | + if (org.apache.commons.collections.CollectionUtils.isNotEmpty(list1)) | |
| 1230 | + { | |
| 1231 | + for (MaternalDeliverModel maternalDeliverModel : list1) | |
| 1232 | + { | |
| 1233 | + saveRcNewBabyInfo(maternalDeliverModel); | |
| 1234 | + } | |
| 1235 | + } | |
| 1236 | + | |
| 1237 | + //产后访视 | |
| 1238 | + MatDeliverFollowQuery matDeliverFollowQuery = new MatDeliverFollowQuery(); | |
| 1239 | + matDeliverFollowQuery.setCreatedTimeEnd(end); | |
| 1240 | + matDeliverFollowQuery.setCreatedTimeStart(start); | |
| 1241 | + matDeliverFollowQuery.setVisitStatus(2); | |
| 1242 | + List<MatdeliverFollowModel> matdeliverFollowModels = matDeliverFollowService.query(matDeliverFollowQuery); | |
| 1243 | + System.out.println("xxxxxx fs="+matdeliverFollowModels.size()+"===="+matDeliverFollowQuery.convertToQuery().convertToMongoQuery().toString()); | |
| 1244 | + if (CollectionUtils.isNotEmpty(matdeliverFollowModels)) | |
| 1245 | + { | |
| 1246 | + for (MatdeliverFollowModel matdeliverFollowModel : matdeliverFollowModels) | |
| 1247 | + { | |
| 1248 | + saveRcMatdeliverFollowInfo(matdeliverFollowModel, hids); | |
| 1249 | + } | |
| 1250 | + } | |
| 1251 | + | |
| 1252 | + | |
| 1253 | + //婚检 | |
| 1254 | + PremaritalCheckupQuery query = new PremaritalCheckupQuery(); | |
| 1255 | + query.setYn(YnEnums.YES.getId()); | |
| 1256 | + query.setModifiedStart(start); | |
| 1257 | + query.setModifiedEnd(end); | |
| 1258 | + query.setHospitalIds(hids); | |
| 1259 | + query.setSexType(1); | |
| 1260 | + List<PremaritalCheckup> checkupList = premaritalCheckupService.queryPremaritalCheckup(query); | |
| 1261 | + System.out.println("xxxxxx hj="+checkupList.size()+"===="+query.convertToQuery().convertToMongoQuery().toString()); | |
| 1262 | + if (CollectionUtils.isNotEmpty(checkupList)) | |
| 1263 | + { | |
| 1264 | + for (PremaritalCheckup premaritalCheckup : checkupList) | |
| 1265 | + { | |
| 1266 | + saveRcPremaritalCheckupInfo(premaritalCheckup); | |
| 1267 | + } | |
| 1268 | + } | |
| 1269 | + | |
| 1270 | + //叶酸发放 | |
| 1271 | + FolicAcidQuery folicAcidQuery = new FolicAcidQuery(); | |
| 1272 | + folicAcidQuery.setYn(YnEnums.YES.getId()); | |
| 1273 | + folicAcidQuery.setModifiedStart(start); | |
| 1274 | + folicAcidQuery.setModifiedEnd(end); | |
| 1275 | + folicAcidQuery.setHospitalList(hids); | |
| 1276 | + List<FolicAcid> folicAcidList = folicAcidService.queryFolicAcidWithSort(folicAcidQuery, "drawTime", Sort.Direction.ASC); | |
| 1277 | + System.out.println("xxxxxx ys="+folicAcidList.size()+"===="+folicAcidQuery.convertToQuery().convertToMongoQuery().toString()); | |
| 1278 | + if (CollectionUtils.isNotEmpty(folicAcidList)) | |
| 1279 | + { | |
| 1280 | + for (FolicAcid folicAcid : folicAcidList) | |
| 1281 | + { | |
| 1282 | + saveRcFolicAcidInfo(folicAcid); | |
| 1283 | + } | |
| 1284 | + } | |
| 1285 | + | |
| 1286 | + | |
| 1287 | + //产筛 | |
| 1288 | + SieveResultQuery sieveResultQuery = new SieveResultQuery(); | |
| 1289 | + sieveResultQuery.setYn(YnEnums.YES.getId()); | |
| 1290 | + sieveResultQuery.setModifiedStart(start); | |
| 1291 | + sieveResultQuery.setModifiedEnd(end); | |
| 1292 | + List<SieveResultModel> list = sieveService.queryListSieveResult(sieveResultQuery); | |
| 1293 | + System.out.println("xxxxxx sieve=" + list.size()+"===="+sieveResultQuery.convertToQuery().convertToMongoQuery().toString()); | |
| 1294 | + if (org.apache.commons.collections.CollectionUtils.isNotEmpty(list)) | |
| 1295 | + { | |
| 1296 | + for (SieveResultModel sieveResultModel : list) | |
| 1297 | + { | |
| 1298 | + saveRcSieveInfo(sieveResultModel,hids); | |
| 1299 | + } | |
| 1300 | + } | |
| 1301 | + | |
| 1302 | + AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); | |
| 1303 | + antExRecordQuery.setHospitalList(hids); | |
| 1304 | + antExRecordQuery.setModifiedStart(start); | |
| 1305 | + antExRecordQuery.setModifiedEnd(end); | |
| 1306 | + List<AntExRecordModel> recordModels = recordService.queryAntExRecords(antExRecordQuery); | |
| 1307 | + System.out.println("xxxxxx recordModels=" + recordModels.size()+"===="+antExRecordQuery.convertToQuery().convertToMongoQuery().toString()); | |
| 1308 | + if (org.apache.commons.collections.CollectionUtils.isNotEmpty(recordModels)) | |
| 1309 | + { | |
| 1310 | + for (AntExRecordModel antExRecordModel : recordModels) | |
| 1311 | + { | |
| 1312 | + saveRcPatientRiskRecord(antExRecordModel); | |
| 1313 | + } | |
| 1314 | + } | |
| 1315 | + | |
| 923 | 1316 | } |
| 924 | 1317 | |
| 925 | 1318 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java
View file @
ad8d95d
| ... | ... | @@ -2498,12 +2498,11 @@ |
| 2498 | 2498 | MatDeliverFollowQuery matDeliverFollowQuery = new MatDeliverFollowQuery(); |
| 2499 | 2499 | List<MatdeliverFollowModel> matdeliverFollowModels = matDeliverFollowService.query(matDeliverFollowQuery); |
| 2500 | 2500 | matDeliverFollowQuery.setVisitStatus(2); |
| 2501 | - | |
| 2502 | 2501 | if (CollectionUtils.isNotEmpty(matdeliverFollowModels)) |
| 2503 | 2502 | { |
| 2504 | 2503 | for (MatdeliverFollowModel matdeliverFollowModel : matdeliverFollowModels) |
| 2505 | 2504 | { |
| 2506 | - rcGlxtService.saveRcMatdeliverFollowInfo(matdeliverFollowModel); | |
| 2505 | + rcGlxtService.saveRcMatdeliverFollowInfo(matdeliverFollowModel,rcGlxtService.getHids()); | |
| 2507 | 2506 | } |
| 2508 | 2507 | } |
| 2509 | 2508 | } |
| ... | ... | @@ -2544,7 +2543,6 @@ |
| 2544 | 2543 | |
| 2545 | 2544 | FolicAcidQuery folicAcidQuery = new FolicAcidQuery(); |
| 2546 | 2545 | folicAcidQuery.setYn(YnEnums.YES.getId()); |
| 2547 | - folicAcidQuery.setId("587621160cf248988f190469"); | |
| 2548 | 2546 | |
| 2549 | 2547 | List<FolicAcid> folicAcidList = folicAcidService.queryFolicAcidWithSort(folicAcidQuery, "drawTime", Sort.Direction.ASC); |
| 2550 | 2548 | |
| 2551 | 2549 | |
| 2552 | 2550 | |
| 2553 | 2551 | |
| ... | ... | @@ -2557,21 +2555,43 @@ |
| 2557 | 2555 | } |
| 2558 | 2556 | } |
| 2559 | 2557 | |
| 2560 | - | |
| 2558 | + /** | |
| 2559 | + * 孕期筛查表 | |
| 2560 | + * @param hospitalId | |
| 2561 | + */ | |
| 2561 | 2562 | @RequestMapping(value = "/rcSieveInfo", method = RequestMethod.GET) |
| 2562 | 2563 | @ResponseBody |
| 2563 | 2564 | public void rcSieveInfo(@RequestParam(required = false) String hospitalId) { |
| 2564 | - | |
| 2565 | - | |
| 2566 | 2565 | SieveResultQuery sieveResultQuery = new SieveResultQuery(); |
| 2567 | 2566 | sieveResultQuery.setYn(YnEnums.YES.getId()); |
| 2568 | 2567 | List<SieveResultModel> list = sieveService.queryListSieveResult(sieveResultQuery); |
| 2569 | - | |
| 2570 | 2568 | if (CollectionUtils.isNotEmpty(list)) |
| 2571 | 2569 | { |
| 2572 | 2570 | for (SieveResultModel sieveResultModel : list) |
| 2573 | 2571 | { |
| 2574 | - rcGlxtService.saveRcSieveInfo(sieveResultModel); | |
| 2572 | + rcGlxtService.saveRcSieveInfo(sieveResultModel, rcGlxtService.getHids()); | |
| 2573 | + } | |
| 2574 | + } | |
| 2575 | + } | |
| 2576 | + | |
| 2577 | + | |
| 2578 | + /** | |
| 2579 | + * 风险妊娠 | |
| 2580 | + * @param hospitalId | |
| 2581 | + */ | |
| 2582 | + @RequestMapping(value = "/rcPatientRiskRecord", method = RequestMethod.GET) | |
| 2583 | + @ResponseBody | |
| 2584 | + public void rcPatientRiskRecord(@RequestParam(required = false) String hospitalId) { | |
| 2585 | + | |
| 2586 | + rcGlxtService.riskAndScreen(); | |
| 2587 | + AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); | |
| 2588 | + antExRecordQuery.setHospitalList(rcGlxtService.getHids()); | |
| 2589 | + List<AntExRecordModel> recordModels = recordService.queryAntExRecords(antExRecordQuery); | |
| 2590 | + if (CollectionUtils.isNotEmpty(recordModels)) | |
| 2591 | + { | |
| 2592 | + for (AntExRecordModel antExRecordModel : recordModels) | |
| 2593 | + { | |
| 2594 | + rcGlxtService.saveRcPatientRiskRecord(antExRecordModel); | |
| 2575 | 2595 | } |
| 2576 | 2596 | } |
| 2577 | 2597 | } |
platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml
View file @
ad8d95d
| ... | ... | @@ -347,6 +347,22 @@ |
| 347 | 347 | </bean> |
| 348 | 348 | |
| 349 | 349 | |
| 350 | + <!-- 荣成数据对接--> | |
| 351 | + <bean id="rcDataJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> | |
| 352 | + <!-- 要调用的bean --> | |
| 353 | + <property name="targetObject" ref="rcGlxtService"/> | |
| 354 | + <!-- 要调用的Method --> | |
| 355 | + <property name="targetMethod" value="taskWorker"/> | |
| 356 | + <!-- 是否并发,false表示 如果发生错误也不影响下一次的调用 --> | |
| 357 | + <property name="concurrent" value="false"/> | |
| 358 | + </bean> | |
| 359 | + | |
| 360 | + <bean id="rcDataJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> | |
| 361 | + <property name="jobDetail" ref="rcDataJob"/> | |
| 362 | + <property name="cronExpression" value="0 0/2 * * * ?"/> | |
| 363 | + </bean> | |
| 364 | + | |
| 365 | + | |
| 350 | 366 | <!-- 总调度,用于启动定时器 --> |
| 351 | 367 | <bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> |
| 352 | 368 | <property name="triggers" > |
| ... | ... | @@ -364,6 +380,7 @@ |
| 364 | 380 | <ref bean="firstDandleAutoReachDueTrigger" /> |
| 365 | 381 | <!--血压报告触发器 --> |
| 366 | 382 | <ref bean="bpReportTrigger" /> |
| 383 | + <ref bean="rcDataJobTrigger" /> | |
| 367 | 384 | <!-- 产前诊断--> |
| 368 | 385 | <!--<ref bean="diaSieveTrigger"/>--> |
| 369 | 386 | <!-- 承德公共卫生接口--> |