Commit 0b7de5331afe4b015510b61ab09496b5dbbc6630

Authored by yangfei
1 parent 6d21897c9e

产检医生统计

Showing 5 changed files with 123 additions and 28 deletions

platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyPatientExtendEarFollowUpQuery.java View file @ 0b7de53
... ... @@ -55,8 +55,19 @@
55 55 * 人工耳蜗(0-左耳,2-右耳,3-全部)
56 56 */
57 57 private Integer artifiCochlea;
58   -
59 58 /**
  59 + * 是否选择助听器
  60 + */
  61 + private Integer isAudiphone;
  62 + /**
  63 + * 是否选择手术(0-未选择,1-选择)
  64 + */
  65 + private Integer isOperation;
  66 + /**
  67 + * 是否选择人工耳蜗(0-左耳,2-右耳,3-全部)
  68 + */
  69 + private Integer isArtifiCochlea;
  70 + /**
60 71 * 指导意见
61 72 */
62 73 private String guideOpinion;
... ... @@ -77,7 +88,7 @@
77 88 */
78 89 private Integer ifdel;
79 90 /**
80   - * 是否结案
  91 + * 是否结案 0-未结案,1-已结案
81 92 */
82 93 private Integer ifclose;
83 94 /**
... ... @@ -123,6 +134,30 @@
123 134 private Date nextEndTime;
124 135 //获取sql语句
125 136 private String sqlStr;
  137 +
  138 + public Integer getIsAudiphone() {
  139 + return isAudiphone;
  140 + }
  141 +
  142 + public void setIsAudiphone(Integer isAudiphone) {
  143 + this.isAudiphone = isAudiphone;
  144 + }
  145 +
  146 + public Integer getIsOperation() {
  147 + return isOperation;
  148 + }
  149 +
  150 + public void setIsOperation(Integer isOperation) {
  151 + this.isOperation = isOperation;
  152 + }
  153 +
  154 + public Integer getIsArtifiCochlea() {
  155 + return isArtifiCochlea;
  156 + }
  157 +
  158 + public void setIsArtifiCochlea(Integer isArtifiCochlea) {
  159 + this.isArtifiCochlea = isArtifiCochlea;
  160 + }
126 161  
127 162 public String getSqlStr() {
128 163 return sqlStr;
platform-biz-service/src/main/resources/mainOrm/master/BabyPatientExtendEarFollowUp.xml View file @ 0b7de53
... ... @@ -15,6 +15,9 @@
15 15 <result column="audiphone" property="audiphone" jdbcType="INTEGER"/>
16 16 <result column="operation" property="operation" jdbcType="INTEGER"/>
17 17 <result column="artifi_cochlea" property="artifiCochlea" jdbcType="INTEGER"/>
  18 + <result column="is_audiphone" property="isAudiphone" jdbcType="INTEGER"/>
  19 + <result column="is_operation" property="isOperation" jdbcType="INTEGER"/>
  20 + <result column="is_artifi_cochlea" property="isArtifiCochlea" jdbcType="INTEGER"/>
18 21 <result column="guide_opinion" property="guideOpinion" jdbcType="VARCHAR"/>
19 22 <result column="follow_doctor_name" property="followDoctorName" jdbcType="VARCHAR"/>
20 23 <result column="follow_doctor_id" property="followDoctorId" jdbcType="VARCHAR"/>
... ... @@ -32,10 +35,7 @@
32 35  
33 36 <insert id="addBabyPatientExtendEarFollowUp"
34 37 parameterType="com.lyms.platform.permission.model.BabyPatientExtendEarFollowUp">
35   - insert into baby_patient_extend_ear_follow_up
36   - (id,baby_id,follow_time,follow_addr,mark_time,mark_result,mark_detail,follow_info,audiphone,operation,artifi_cochlea,guide_opinion,follow_doctor_name,follow_doctor_id,next_time,ifdel,ifclose,hospital_id,modify_time,modify_id,create_time,create_id,enalble)
37   - values
38   - (#{id},#{babyId},#{followTime},#{followAddr},#{markTime},#{markResult},#{markDetail},#{followInfo},#{audiphone},#{operation},#{artifiCochlea},#{guideOpinion},#{followDoctorName},#{followDoctorId},#{nextTime},#{ifdel},#{ifclose},#{hospitalId},#{modifyTime},#{modifyId},#{createTime},#{createId},#{enalble})
  38 + insert into baby_patient_extend_ear_follow_up (id,baby_id,follow_time,follow_addr,mark_time,mark_result,mark_detail,follow_info,audiphone,operation,artifi_cochlea,is_audiphone,is_operation,is_artifi_cochlea,guide_opinion,follow_doctor_name,follow_doctor_id,next_time,ifdel,ifclose,hospital_id,modify_time,modify_id,create_time,create_id,enalble) values (#{id},#{babyId},#{followTime},#{followAddr},#{markTime},#{markResult},#{markDetail},#{followInfo},#{audiphone},#{operation},#{artifiCochlea},#{isAudiphone},#{isOperation},#{isArtifiCochlea},#{guideOpinion},#{followDoctorName},#{followDoctorId},#{nextTime},#{ifdel},#{ifclose},#{hospitalId},#{modifyTime},#{modifyId},#{createTime},#{createId},#{enalble})
39 39 </insert>
40 40  
41 41  
... ... @@ -73,6 +73,15 @@
73 73 <if test="artifiCochlea != null and artifiCochlea >= 0">
74 74 artifi_cochlea = #{artifiCochlea,jdbcType=INTEGER},
75 75 </if>
  76 + <if test="isAudiphone != null and isAudiphone >= 0">
  77 + is_audiphone = #{isAudiphone,jdbcType=INTEGER},
  78 + </if>
  79 + <if test="isOperation != null and isOperation >= 0">
  80 + is_operation = #{isOperation,jdbcType=INTEGER},
  81 + </if>
  82 + <if test="isArtifiCochlea != null and isArtifiCochlea >= 0">
  83 + is_artifi_cochlea = #{isArtifiCochlea,jdbcType=INTEGER},
  84 + </if>
76 85 <if test="guideOpinion != null and guideOpinion != ''">
77 86 guide_opinion = #{guideOpinion,jdbcType=VARCHAR},
78 87 </if>
... ... @@ -121,7 +130,7 @@
121 130  
122 131 <select id="getBabyPatientExtendEarFollowUp" resultMap="BabyPatientExtendEarFollowUpResultMap"
123 132 parameterType="java.lang.String">
124   -select id,baby_id,follow_time,follow_addr,mark_time,mark_result,mark_detail,follow_info,audiphone,operation,artifi_cochlea,guide_opinion,follow_doctor_name,follow_doctor_id,next_time,ifdel,ifclose,hospital_id,modify_time,modify_id,create_time,create_id,enalble
  133 +select id,baby_id,follow_time,follow_addr,mark_time,mark_result,mark_detail,follow_info,audiphone,operation,artifi_cochlea,is_audiphone,is_operation,is_artifi_cochlea,guide_opinion,follow_doctor_name,follow_doctor_id,next_time,ifdel,ifclose,hospital_id,modify_time,modify_id,create_time,create_id,enalble
125 134 from baby_patient_extend_ear_follow_up where id = #{id,jdbcType=VARCHAR}
126 135 </select>
127 136  
... ... @@ -147,7 +156,7 @@
147 156 </if>
148 157 <if test="babyIds!=null">
149 158 and baby_id in (
150   - <foreach item="babyId" collection="babyIds" separator="," >
  159 + <foreach item="babyId" collection="babyIds" separator=",">
151 160 #{babyId}
152 161 </foreach>
153 162 )
... ... @@ -247,7 +256,8 @@
247 256 <select id="queryBabyPatientExtendEarFollowUp" resultMap="BabyPatientExtendEarFollowUpResultMap"
248 257 parameterType="com.lyms.platform.permission.model.BabyPatientExtendEarFollowUpQuery">
249 258 select
250   - id,baby_id,max(follow_time) as follow_time,follow_addr,mark_time,mark_result,mark_detail,follow_info,audiphone,operation,artifi_cochlea,guide_opinion,follow_doctor_name,follow_doctor_id,next_time,ifdel,ifclose,hospital_id,modify_time,modify_id,create_time,create_id,enalble
  259 + id,baby_id,max(follow_time) as
  260 + follow_time,follow_addr,mark_time,mark_result,mark_detail,follow_info,audiphone,operation,artifi_cochlea,guide_opinion,follow_doctor_name,follow_doctor_id,next_time,ifdel,ifclose,hospital_id,modify_time,modify_id,create_time,create_id,enalble
251 261 from baby_patient_extend_ear_follow_up
252 262 <include refid="BabyPatientExtendEarFollowUpCondition"/>
253 263 GROUP BY baby_id
platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java View file @ 0b7de53
... ... @@ -23,7 +23,10 @@
23 23  
24 24 private String id;
25 25 private List<String> ids;
  26 + private String pid;
26 27  
  28 + private List<String> pIds;
  29 +
27 30 private String husbandPhone;
28 31  
29 32 /**
... ... @@ -204,6 +207,14 @@
204 207 return provinceId;
205 208 }
206 209  
  210 + public List<String> getpIds() {
  211 + return pIds;
  212 + }
  213 +
  214 + public void setpIds(List<String> pIds) {
  215 + this.pIds = pIds;
  216 + }
  217 +
207 218 public void setProvinceId(String provinceId) {
208 219 this.provinceId = provinceId;
209 220 }
... ... @@ -272,7 +283,6 @@
272 283 this.lastMensesNeEnd = lastMensesNeEnd;
273 284 }
274 285  
275   - private String pid;
276 286  
277 287 public Date getLastRhTimeEnd() {
278 288 return lastRhTimeEnd;
... ... @@ -1074,6 +1084,9 @@
1074 1084 }
1075 1085 if (null != pid) {
1076 1086 condition = condition.and("pid", pid, MongoOper.IS);
  1087 + }
  1088 + if (null != pIds) {
  1089 + condition = condition.and("pid", pIds, MongoOper.IN);
1077 1090 }
1078 1091 Criteria c1 = null;
1079 1092  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntexDoctorStatistController.java View file @ 0b7de53
... ... @@ -116,7 +116,7 @@
116 116 }
117 117 }
118 118 if (CollectionUtils.isNotEmpty(patientIds)) {
119   - getAllPatientList(patientIds, resultInfo,loginState.getId());
  119 + getAllPatientList(startDate, endDate, childBirth, patientIds, resultInfo, loginState.getId());
120 120 }
121 121  
122 122  
123 123  
... ... @@ -169,8 +169,48 @@
169 169 }
170 170  
171 171 //获取患者全部检测数据
172   - public void getAllPatientList(List<String> patientId, Map<String, AntextDoctorPatient> resultInfo,Integer userId) {
  172 + public void getAllPatientList(Date startDate, Date endDate, Integer childBirth, List<String> patientId, Map<String, AntextDoctorPatient> resultInfo, Integer userId) {
173 173  
  174 +
  175 + PatientsQuery patientsQuery = new PatientsQuery();
  176 + patientsQuery.setIds(patientId);
  177 +
  178 + List<Patients> patientss = yunBookbuildingService.queryPregnantWithQuery(patientsQuery);
  179 + List<String> pIds = new ArrayList<>();
  180 + for (Patients ps : patientss) {
  181 + pIds.add(ps.getPid());
  182 + }
  183 +
  184 + patientsQuery = new PatientsQuery();
  185 + patientsQuery.setpIds(pIds);
  186 +
  187 + if (startDate != null) {
  188 + //建档开始时间
  189 + patientsQuery.setBookbuildingDateStart(startDate);
  190 + }
  191 + if (endDate != null) {
  192 + //建档结束时间
  193 + patientsQuery.setBookbuildingDateEnd(endDate);
  194 + }
  195 + //有效
  196 + patientsQuery.setYn(1);
  197 + if (childBirth != null) {
  198 + patientsQuery.setType(childBirth);
  199 + }
  200 + Map<String, List<String>> patientMap = new HashMap<>();
  201 + //获取患者集合
  202 + List<Patients> patientsList = yunBookbuildingService.queryPregnantWithQuery(patientsQuery);
  203 + for (Patients ps : patientsList) {
  204 + if(patientMap.containsKey(ps.getPid())){//存在
  205 + List<String> paId = patientMap.get(ps.getPid());
  206 +
  207 + }else{
  208 + List<String> paId = new ArrayList<>();
  209 + paId.add(ps.getId());
  210 + patientMap.put(ps.getPid(),paId);
  211 + }
  212 + }
  213 +
174 214 //根据当前登录人获取医院id
175 215 String hospital = autoMatchFacade.getHospitalId(userId);
176 216  
177 217  
178 218  
179 219  
... ... @@ -188,22 +228,22 @@
188 228 List<AntenatalExaminationModel> antenatalExaminationModels = antExService.queryAntenatalExamination(antExQuery.convertToQuery());
189 229  
190 230 //复诊:患者id
191   - Map<String,Integer> hostNum = new HashMap<>();
  231 + Map<String, Integer> hostNum = new HashMap<>();
192 232  
193 233 //添加初诊结果
194 234 for (AntExChuModel ac : antExChuModels) {
195 235 AntextDoctorPatient doctorPatient = resultInfo.get(ac.getParentId());
196 236 doctorPatient.setAllCjNum(doctorPatient.getAllCjNum() + 1);
197   - if(ac.getHospitalId().equals(hospital)){//如果医院id相同,
198   - if(hostNum.containsKey(ac.getPid())){
  237 + if (ac.getHospitalId().equals(hospital)) {//如果医院id相同,
  238 + if (hostNum.containsKey(ac.getPid())) {
199 239 int num = hostNum.get(ac.getPid());
200 240 num++;
201   - if(num>doctorPatient.getCjNum()){
  241 + if (num > doctorPatient.getCjNum()) {
202 242 doctorPatient.setCjNum(num);
203 243 }
204   - hostNum.put(ac.getPid(),num);
205   - }else{
206   - hostNum.put(ac.getPid(),1);
  244 + hostNum.put(ac.getPid(), num);
  245 + } else {
  246 + hostNum.put(ac.getPid(), 1);
207 247 }
208 248 }
209 249 if (ac.getCheckTime().after(doctorPatient.getCheckTime())) {
210 250  
211 251  
212 252  
... ... @@ -214,20 +254,19 @@
214 254 }
215 255  
216 256  
217   -
218 257 //添加复诊结果
219 258 for (AntenatalExaminationModel aec : antenatalExaminationModels) {
220 259 AntextDoctorPatient doctorPatient = resultInfo.get(aec.getParentId());
221   - if(aec.getHospitalId().equals(hospital)){//如果医院id相同,
222   - if(hostNum.containsKey(aec.getPid())){
  260 + if (aec.getHospitalId().equals(hospital)) {//如果医院id相同,
  261 + if (hostNum.containsKey(aec.getPid())) {
223 262 int num = hostNum.get(aec.getPid());
224 263 num++;
225   - if(num>doctorPatient.getCjNum()){
  264 + if (num > doctorPatient.getCjNum()) {
226 265 doctorPatient.setCjNum(num);
227 266 }
228   - hostNum.put(aec.getPid(),num);
229   - }else{
230   - hostNum.put(aec.getPid(),1);
  267 + hostNum.put(aec.getPid(), num);
  268 + } else {
  269 + hostNum.put(aec.getPid(), 1);
231 270 }
232 271 }
233 272  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/EarController.java View file @ 0b7de53
... ... @@ -110,10 +110,8 @@
110 110 if (!isConfirm) {// //若没有听诊记录或所有听诊记录都未确诊。提示:该儿童还未听力确诊,不能进行随访。
111 111 return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_POWER).setErrormsg("当前儿童听诊记录还未有确诊记录不能进行随访");
112 112 }
113   -
114 113 //根据条件查询基础配置信息表
115 114 InitFollowUp initHearingDiagnose = new InitFollowUp();
116   - initHearingDiagnose.setConfirmResult(EnumUtil.toJson(ConfirmedEnums.class));
117 115 return initHearingDiagnose.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功");
118 116 }
119 117