Commit 8ce0e3ca474e03fa24ded8bf11af57b40ce84895

Authored by yangfei
1 parent 27d06256cb

产后随访

Showing 11 changed files with 153 additions and 58 deletions

platform-biz-service/src/main/java/com/lyms/platform/permission/model/PatientService.java View file @ 8ce0e3c
... ... @@ -16,6 +16,10 @@
16 16 */
17 17 private String pid;
18 18 /**
  19 + * 服务人类型(1-孕妇、2-儿童)
  20 + */
  21 + private Integer perType;
  22 + /**
19 23 * 服务类型(1-孕期精准医疗、2-体重管理、3-血糖管理、4-血压管理、5-专家咨询、6-标准服务)
20 24 */
21 25 private Integer serType;
... ... @@ -95,6 +99,14 @@
95 99 * 1-建档时开通服务的老数据
96 100 */
97 101 private Integer isOld;
  102 +
  103 + public Integer getPerType() {
  104 + return perType;
  105 + }
  106 +
  107 + public void setPerType(Integer perType) {
  108 + this.perType = perType;
  109 + }
98 110  
99 111 public Integer getIsOld() {
100 112 return isOld;
platform-biz-service/src/main/java/com/lyms/platform/permission/model/PatientServiceQuery.java View file @ 8ce0e3c
... ... @@ -15,6 +15,10 @@
15 15 private String[] parentIds;
16 16 private String pid;
17 17 private Integer serType;
  18 + /**
  19 + * 服务人类型(1-孕妇、2-儿童)
  20 + */
  21 + private Integer perType;
18 22 private String serDoct;
19 23 private Date createDate;
20 24 private Date createStartDate;
... ... @@ -68,6 +72,14 @@
68 72 * 1-建档时开通服务的老数据
69 73 */
70 74 private Integer isOld;
  75 +
  76 + public Integer getPerType() {
  77 + return perType;
  78 + }
  79 +
  80 + public void setPerType(Integer perType) {
  81 + this.perType = perType;
  82 + }
71 83  
72 84 public Integer getIsOld() {
73 85 return isOld;
platform-biz-service/src/main/resources/mainOrm/master/PatientService.xml View file @ 8ce0e3c
... ... @@ -25,11 +25,12 @@
25 25 <result column="order_id" property="orderId" jdbcType="VARCHAR"/>
26 26 <result column="syn_status" property="synStatus" jdbcType="INTEGER"/>
27 27 <result column="is_old" property="isOld" jdbcType="INTEGER"/>
  28 + <result column="per_type" property="perType" jdbcType="INTEGER"/>
28 29 </resultMap>
29 30  
30 31  
31 32 <insert id="addPatientService" parameterType="com.lyms.platform.permission.model.PatientService">
32   - insert into patient_service (id,parentid,pid,ser_type,ser_doct,create_date,create_user_name,create_user,ser_status,update_date,update_user_name,update_user,hospital_id,ser_code,status,receive_date,receive_user,back_date,back_user,order_id,syn_status,is_old) values (#{id},#{parentid},#{pid},#{serType},#{serDoct},#{createDate},#{createUserName},#{createUser},#{serStatus},#{updateDate},#{updateUserName},#{updateUser},#{hospitalId},#{serCode},#{status},#{receiveDate},#{receiveUser},#{backDate},#{backUser},#{orderId},#{synStatus},#{isOld})
  33 + insert into patient_service (id,parentid,pid,ser_type,ser_doct,create_date,create_user_name,create_user,ser_status,update_date,update_user_name,update_user,hospital_id,ser_code,status,receive_date,receive_user,back_date,back_user,order_id,syn_status,is_old,per_type) values (#{id},#{parentid},#{pid},#{serType},#{serDoct},#{createDate},#{createUserName},#{createUser},#{serStatus},#{updateDate},#{updateUserName},#{updateUser},#{hospitalId},#{serCode},#{status},#{receiveDate},#{receiveUser},#{backDate},#{backUser},#{orderId},#{synStatus},#{isOld},#{perType})
33 34 </insert>
34 35  
35 36  
... ... @@ -94,6 +95,9 @@
94 95 <if test="isOld != null and isOld != ''">
95 96 is_old = #{isOld,jdbcType=INTEGER},
96 97 </if>
  98 + <if test="perType != null and perType != ''">
  99 + per_type = #{perType,jdbcType=INTEGER},
  100 + </if>
97 101 </set>
98 102 where id = #{id,jdbcType=VARCHAR}
99 103 </update>
... ... @@ -105,7 +109,7 @@
105 109  
106 110  
107 111 <select id="getPatientService" resultMap="PatientServiceResultMap" parameterType="java.lang.String">
108   - select id,parentid,pid,ser_type,ser_doct,create_date,create_user_name,create_user,ser_status,update_date,update_user_name,update_user,hospital_id,ser_code,status,receive_date,receive_user,back_date,back_user,order_id,syn_status,is_old
  112 + select id,parentid,pid,ser_type,ser_doct,create_date,create_user_name,create_user,ser_status,update_date,update_user_name,update_user,hospital_id,ser_code,status,receive_date,receive_user,back_date,back_user,order_id,syn_status,is_old,per_type
109 113 from patient_service where id = #{id,jdbcType=VARCHAR}
110 114 </select>
111 115  
... ... @@ -207,6 +211,9 @@
207 211 <if test="isOld != null and isOld != ''">
208 212 and is_old = #{isOld,jdbcType=INTEGER}
209 213 </if>
  214 + <if test="perType != null and perType != ''">
  215 + and per_type = #{perType,jdbcType=INTEGER}
  216 + </if>
210 217 <if test="sql != null and sql != ''">
211 218 ${sql}
212 219 </if>
... ... @@ -216,7 +223,7 @@
216 223 <select id="queryPatientService" resultMap="PatientServiceResultMap"
217 224 parameterType="com.lyms.platform.permission.model.PatientServiceQuery">
218 225 select
219   - id,parentid,pid,ser_type,ser_doct,create_date,create_user_name,create_user,ser_status,update_date,update_user_name,update_user,hospital_id,ser_code,status,receive_date,receive_user,back_date,back_user,order_id,syn_status,is_old
  226 + id,parentid,pid,ser_type,ser_doct,create_date,create_user_name,create_user,ser_status,update_date,update_user_name,update_user,hospital_id,ser_code,status,receive_date,receive_user,back_date,back_user,order_id,syn_status,is_old,per_type
220 227 from patient_service
221 228 <include refid="PatientServiceCondition"/>
222 229 <include refid="orderAndLimit"/>
platform-common/src/main/java/com/lyms/platform/common/enums/PatientSerEnums.java View file @ 8ce0e3c
... ... @@ -12,21 +12,23 @@
12 12 */
13 13 public class PatientSerEnums {
14 14 //服务类型(1-高危精准指导、2-体重、3-血糖、4-血压、5-专家咨询)
15   - public enum SerTypeEnums{
  15 + public enum SerTypeEnums {
16 16 bzfw(6, "标准服务"),
17   - yqjzzd(1,"孕期精准医疗"),
18   - tz(2,"体重管理"),
  17 + yqjzzd(1, "孕期精准医疗"),
  18 + tz(2, "体重管理"),
19 19 xt(3, "血糖管理"),
20 20 xy(4, "血压管理"),
21 21 zjzx(5, "专家咨询");
22 22 private Integer id;
23 23 private String title;
  24 +
24 25 private SerTypeEnums(Integer id, String title) {
25 26 this.id = id;
26 27 this.title = title;
27 28 }
  29 +
28 30 public static String getTitle(Integer id) {
29   - for (SerTypeEnums e:values()) {
  31 + for (SerTypeEnums e : values()) {
30 32 if (e.getId() == id) {
31 33 return e.getTitle();
32 34 }
33 35  
34 36  
35 37  
... ... @@ -52,19 +54,21 @@
52 54 }
53 55  
54 56 //服务状态(1-开通、2-退订、3-过期、4-暂停)
55   - public enum SerStatusEnums{
56   - kt(1,"开通"),
57   - td(2,"退订"),
  57 + public enum SerStatusEnums {
  58 + kt(1, "开通"),
  59 + td(2, "退订"),
58 60 gq(3, "过期"),
59 61 zt(4, "暂停");
60 62 private Integer id;
61 63 private String title;
  64 +
62 65 private SerStatusEnums(Integer id, String title) {
63 66 this.id = id;
64 67 this.title = title;
65 68 }
  69 +
66 70 public static String getTitle(Integer id) {
67   - for (SerStatusEnums e:values()) {
  71 + for (SerStatusEnums e : values()) {
68 72 if (e.getId() == id) {
69 73 return e.getTitle();
70 74 }
... ... @@ -89,7 +93,20 @@
89 93 }
90 94 }
91 95  
92   - //服务类型
  96 + //儿童服务类型
  97 + public static List getBabySerType() {
  98 + List<Object> list = new ArrayList<>();
  99 + Map<String, Object> resultMap = new HashMap<>();
  100 + resultMap.put("id", SerTypeEnums.bzfw.id);
  101 + resultMap.put("name", SerTypeEnums.bzfw.name());
  102 + list.add(resultMap);
  103 + resultMap.put("id", SerTypeEnums.yqjzzd.id);
  104 + resultMap.put("name", SerTypeEnums.yqjzzd.name());
  105 + list.add(resultMap);
  106 + return list;
  107 + }
  108 +
  109 + //全部服务类型
93 110 public static List getSerType() {
94 111 List<Object> list = new ArrayList<>();
95 112 for (SerTypeEnums enums : SerTypeEnums.values()) {
... ... @@ -100,6 +117,7 @@
100 117 }
101 118 return list;
102 119 }
  120 +
103 121 //服务状态
104 122 public static List getSerStatus() {
105 123 List<Object> list = new ArrayList<>();
platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java View file @ 8ce0e3c
1 1 package com.lyms.platform.operate.web;
2 2  
3   -import com.lyms.platform.common.enums.YnEnums;
4   -import com.lyms.platform.query.PatientsQuery;
  3 +import com.lyms.platform.common.utils.DateUtil;
5 4 import net.sourceforge.pinyin4j.PinyinHelper;
6 5 import org.apache.log4j.Logger;
7   -import org.springframework.util.StopWatch;
8 6  
9   -import java.util.*;
  7 +import java.util.Comparator;
  8 +import java.util.Date;
10 9  
11 10 /**
12 11 * Created by Administrator on 2016/8/22 0022.
... ... @@ -16,7 +15,14 @@
16 15 private static org.apache.log4j.Logger log = Logger.getLogger("HTTP-INVOKE");
17 16  
18 17 public static void main(String[] args) throws Exception{
19   - PatientsQuery patientsQuery = new PatientsQuery();
  18 +
  19 + Date startDate = DateUtil.addDay(new Date(),-21);
  20 + Date endDate = DateUtil.addDay(new Date(),-22);
  21 + System.out.println(DateUtil.getyyyy_MM_dd(startDate));
  22 + System.out.println(DateUtil.getyyyy_MM_dd(endDate));
  23 +
  24 +
  25 + /* PatientsQuery patientsQuery = new PatientsQuery();
20 26 //排查本院隐藏建档
21 27 patientsQuery.setExtEnable(false);
22 28 patientsQuery.setBuildTypeNot(1);
... ... @@ -49,7 +55,7 @@
49 55 System.out.println(string);
50 56 }
51 57 stopWatch.stop();
52   - System.out.println(stopWatch.toString());
  58 + System.out.println(stopWatch.toString());*/
53 59 }
54 60 /**
55 61 * 功能:实现汉语拼音序比较
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientServiceController.java View file @ 8ce0e3c
... ... @@ -43,6 +43,20 @@
43 43 }
44 44  
45 45 /**
  46 + * 初始化接口
  47 + *
  48 + * @return
  49 + */
  50 + @ResponseBody
  51 + @TokenRequired
  52 + @RequestMapping(value = "/babySer/init", method = RequestMethod.GET)
  53 + public BaseResponse babyServiceInit( HttpServletRequest request) {
  54 + LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
  55 +
  56 + return patientServiceFacade.babyServiceInit(loginState.getId());
  57 + }
  58 +
  59 + /**
46 60 * 根据孕妇Id查询在当前医院的服务开通记录
47 61 *
48 62 * @param pid 孕妇Id
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java View file @ 8ce0e3c
... ... @@ -1207,6 +1207,15 @@
1207 1207 patientsQuery.setFmDateStart(DateUtil.getSNDate(matdeliverFollowRequest.getBirthDate())[0]);
1208 1208 patientsQuery.setFmDateEnd(DateUtil.getSNDate(matdeliverFollowRequest.getBirthDate())[1]);
1209 1209 }
  1210 +
  1211 + if(matdeliverFollowRequest.getFollowStage()!=null){//按访视阶段查询
  1212 + if(matdeliverFollowRequest.getFollowStage() == 1){//1、访视期内 分娩时间为:21天到当前时间
  1213 + patientsQuery.setFmDateStart(DateUtil.addDay(new Date(),-22));
  1214 + patientsQuery.setFmDateEnd(new Date());
  1215 + }else if(matdeliverFollowRequest.getFollowStage() == 2){//2、超出访视期 分娩时间为:结束时间为:21天前的
  1216 + patientsQuery.setFmDateEnd(DateUtil.addDay(new Date(),-22));
  1217 + }
  1218 + }
1210 1219 patientsQuery.setFmHospitalQueryList(hospitalList);
1211 1220  
1212 1221 List<Patients> patientsList = patientsService.queryPatient(patientsQuery);
1213 1222  
... ... @@ -1222,10 +1231,20 @@
1222 1231 }
1223 1232  
1224 1233 matDeliverQuery.setYn(YnEnums.YES.getId());
  1234 + //分娩日期
1225 1235 if (StringUtils.isNotEmpty(matdeliverFollowRequest.getBirthDate())) {
1226 1236 matDeliverQuery.setCreatedStart(DateUtil.getSNDate(matdeliverFollowRequest.getBirthDate())[0]);
1227 1237 matDeliverQuery.setEndStart(DateUtil.getSNDate(matdeliverFollowRequest.getBirthDate())[1]);
1228 1238 }
  1239 + if(matdeliverFollowRequest.getFollowStage()!=null){//按访视阶段查询
  1240 + if(matdeliverFollowRequest.getFollowStage() == 1){//1、访视期内 分娩时间为:21天到当前时间
  1241 + matDeliverQuery.setCreatedStart(DateUtil.addDay(new Date(),-22));
  1242 + matDeliverQuery.setEndStart(new Date());
  1243 + }else if(matdeliverFollowRequest.getFollowStage() == 2){//2、超出访视期 分娩时间为:结束时间为:21天前的
  1244 + matDeliverQuery.setEndStart(DateUtil.addDay(new Date(),-22));
  1245 + }
  1246 + }
  1247 +
1229 1248 matDeliverQuery.setFmHospitalList(hospitalList);
1230 1249 matDeliverQuery.setContactResult(matdeliverFollowRequest.getContactResult());
1231 1250 if (matdeliverFollowRequest.getContactReason() != null) {
... ... @@ -1320,15 +1339,9 @@
1320 1339 matdeliverFollowListResult.setMakeType(PostpartumFollowMakeEnums.TypeEnum.getTitle(deliverModel.getMakeType()));
1321 1340 }
1322 1341  
1323   - matdeliverFollowListResult.setIsClose(deliverModel.getIsClose());
1324   - //访视是否结案,如果已经结案则返回已结案,如果未结案,显示下次访视时间
1325   - if (deliverModel.getIsClose() != null && deliverModel.getIsClose() == PostpartumFollowMakeEnums.IsCloseEnum.YJA.getId()) {
1326   - matdeliverFollowListResult.setNextVisitDate(PostpartumFollowMakeEnums.IsCloseEnum.getTitle(deliverModel.getIsClose()));
1327   - } else if (deliverModel.getIsClose() != null && deliverModel.getIsClose() == PostpartumFollowMakeEnums.IsCloseEnum.WJA.getId()) {
1328   - //下次访视时间
1329   - if (deliverModel.getNextVisitDate() != null && deliverModel.getVisitResult() == 1) {
1330   - matdeliverFollowListResult.setNextVisitDate(DateUtil.getyyyy_MM_dd(deliverModel.getNextVisitDate()));
1331   - }
  1342 + //下次访视时间
  1343 + if (deliverModel.getNextVisitDate() != null) {
  1344 + matdeliverFollowListResult.setNextVisitDate(DateUtil.getyyyy_MM_dd(deliverModel.getNextVisitDate()));
1332 1345 }
1333 1346 //访视状态 0--是修改后替换的初始值
1334 1347 if (deliverModel.getVisitStatus() != null && deliverModel.getVisitStatus() == 1) {
... ... @@ -1339,6 +1352,12 @@
1339 1352 matdeliverFollowListResult.setVisitResult(PostpartumFollowMakeEnums.ResultEnum.getTitle(deliverModel.getVisitResult()));
1340 1353 }
1341 1354  
  1355 + matdeliverFollowListResult.setFollowStage(2);
  1356 + if(StringUtils.isNotEmpty(deliverModel.getDueDate())){//根据分娩时间判断访视时间是否过期
  1357 + Date resultDate = DateUtil.parseYMD(deliverModel.getDueDate());
  1358 + boolean isScope = DateUtil.isBetween(resultDate,DateUtil.addDay(new Date(),-22),new Date());
  1359 + matdeliverFollowListResult.setFollowStage(isScope?1:2);
  1360 + }
1342 1361 matdeliverFollowListResults.add(matdeliverFollowListResult);
1343 1362 }
1344 1363 listResponse.setPageInfo(matDeliverQuery.getPageInfo());
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatdeliverFollowFacade.java View file @ 8ce0e3c
... ... @@ -56,7 +56,7 @@
56 56 public BaseResponse matdeliverFollowMakeInit(Integer id) {
57 57 Map map = new HashMap();
58 58 //是否结案
59   - map.put("isClose", PostpartumFollowMakeEnums.getIsCloseEnum());
  59 + // map.put("isClose", PostpartumFollowMakeEnums.getIsCloseEnum());
60 60 //上门访视失败理由
61 61 map.put("getReason", PostpartumFollowMakeEnums.getReasonEnum());
62 62 //访视结果
... ... @@ -246,11 +246,6 @@
246 246 maternalDeliverModel.setNextVisitDate(matDeliverFollowAddRequest.getNextVisitDateStr());
247 247 } else {
248 248 maternalDeliverModel.setNextVisitDate(null);
249   - }
250   - if (matDeliverFollowAddRequest.getIsClose() != null) {
251   - maternalDeliverModel.setIsClose(matDeliverFollowAddRequest.getIsClose());
252   - } else {
253   - maternalDeliverModel.setIsClose(0);
254 249 }
255 250 //修改分娩记录
256 251 matDeliverService.updateOne(maternalDeliverModel, maternalDeliverModel.getId());
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java View file @ 8ce0e3c
1 1 package com.lyms.platform.operate.web.facade;
2 2  
3   -import com.lyms.platform.biz.service.AntExRecordService;
4   -import com.lyms.platform.biz.service.AntenatalExaminationService;
5 3 import com.lyms.platform.biz.service.CommonService;
6 4 import com.lyms.platform.biz.service.PatientsService;
7 5 import com.lyms.platform.common.constants.ErrorCodeConstants;
... ... @@ -12,7 +10,6 @@
12 10 import com.lyms.platform.common.result.BaseListResponse;
13 11 import com.lyms.platform.common.result.BaseObjectResponse;
14 12 import com.lyms.platform.common.result.BaseResponse;
15   -import com.lyms.platform.common.utils.Config;
16 13 import com.lyms.platform.common.utils.DateUtil;
17 14 import com.lyms.platform.common.utils.StringUtils;
18 15 import com.lyms.platform.operate.web.request.BasePageQueryRequest;
... ... @@ -32,7 +29,7 @@
32 29 /**
33 30 * @auther yangfei
34 31 * @createTime 2017年09月11日 14时29分
35   - * @discription 孕妇服务
  32 + * @discription 孕妇或儿童服务
36 33 */
37 34 @Component
38 35 public class PatientServiceFacade {
39 36  
40 37  
41 38  
42 39  
... ... @@ -48,22 +45,26 @@
48 45 @Autowired
49 46 private PatientsService patientsService;
50 47 @Autowired
51   - private AntExRecordService recordService;
52   - @Autowired
53 48 private CommonService commonService;
54 49 @Autowired
55   - private AntenatalExaminationService antenatalExaminationService;
56   - @Autowired
57 50 private HospitalDoctServiceService hospitalDoctService;
58 51 @Autowired
59 52 private HospitalServiceContentService hospitalServiceContentService;
60   -
61 53 @Autowired
  54 + private HospitalDoctServiceService hospitalDoctServiceService;
  55 + @Autowired
62 56 private OperateLogFacade operateLogFacade;
63 57 @Autowired
64 58 private BookbuildingFacade bookbuildingFacade;
65 59  
66   - public static String patSer_sync_url = Config.getItem("patSer_sync_url", "0");
  60 + public BaseResponse babyServiceInit(Integer userId) {
  61 + Map map = new HashMap();
  62 + //服务类型
  63 + map.put("serTypes", PatientSerEnums.getBabySerType());
  64 + //服务状态
  65 + map.put("serStatus", PatientSerEnums.getSerStatus());
  66 + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION).setData(map);
  67 + }
67 68  
68 69 public BaseResponse patientServiceInit(Integer id) {
69 70 //根据用户id获取医院ID
... ... @@ -247,8 +248,6 @@
247 248 * @return
248 249 */
249 250 public BaseResponse updatePatientService(PatientService ps, Integer userId) {
250   -
251   -
252 251 String hospitalId = autoMatchFacade.getHospitalId(userId);
253 252  
254 253 //根据用户id获取医院ID
... ... @@ -718,11 +717,6 @@
718 717 map.put("ser_price",serviceContent.getSerPrice());
719 718 map.put("ser_type",serviceContent.getSerType());
720 719 map.put("status",serviceContent.getStatus());
721   - /* "create_date": "",
722   - "hospital_id": 1,
723   - "id": 1,
724   - "ser_price": 1,
725   - "ser_type": 1*/
726 720 return map;
727 721 }
728 722  
729 723  
... ... @@ -734,16 +728,8 @@
734 728 map.put("hosp_id",hospitalDoctService.getHospId());
735 729 map.put("hosp_service_id",hospitalDoctService.getHospServiceId());
736 730 map.put("status",hospitalDoctService.getStatus());
737   - /*{
738   - "doct_id": 54545,
739   - "doct_price": 10,
740   - "hosp_service_id": 2,
741   - "id": 1
742   - }*/
743 731 return map;
744 732 }
745 733  
746   - @Autowired
747   - private HospitalDoctServiceService hospitalDoctServiceService;
748 734 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowRequest.java View file @ 8ce0e3c
... ... @@ -15,6 +15,10 @@
15 15 */
16 16 private String queryNo;
17 17 /**
  18 + * 访视阶段 1-访视期内、2-超出访视期
  19 + */
  20 + private Integer followStage;
  21 + /**
18 22 * @discription 是否区域
19 23 */
20 24 private String isArea;
... ... @@ -78,6 +82,14 @@
78 82 * 是否分页(导出不分页,普通分页)
79 83 */
80 84 private String need;
  85 +
  86 + public Integer getFollowStage() {
  87 + return followStage;
  88 + }
  89 +
  90 + public void setFollowStage(Integer followStage) {
  91 + this.followStage = followStage;
  92 + }
81 93  
82 94 public Integer getMakeType() {
83 95 return makeType;
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/MatdeliverFollowListResult.java View file @ 8ce0e3c
... ... @@ -91,6 +91,20 @@
91 91 */
92 92 private Integer isClose;
93 93  
  94 + /**
  95 + * 1、访视期内
  96 + * 2、超出访视期
  97 + */
  98 + private Integer followStage;
  99 +
  100 + public Integer getFollowStage() {
  101 + return followStage;
  102 + }
  103 +
  104 + public void setFollowStage(Integer followStage) {
  105 + this.followStage = followStage;
  106 + }
  107 +
94 108 public String getDueDate() {
95 109 return dueDate;
96 110 }