Commit 40110feb704334f6c7fc8047baa1f92c37155e1f

Authored by xujiahong
1 parent 77a61a7f18
Exists in master

产检相关代码-日常提交

Showing 11 changed files with 176 additions and 51 deletions

parent/hospital.mac/src/main/java/com/lyms/hospital/entity/assist/DiagnoseAssit.java View file @ 40110fe
... ... @@ -197,7 +197,7 @@
197 197 * 阴道清洁度
198 198 */
199 199 @TableField(value="VAGINA_YDQJD")
200   - private Integer vaginaYdqjd;
  200 + private String vaginaYdqjd;
201 201 /**
202 202 * B超描述
203 203 */
204 204  
... ... @@ -497,11 +497,11 @@
497 497 this.vaginaOtherTxt = vaginaOtherTxt;
498 498 }
499 499  
500   - public Integer getVaginaYdqjd() {
  500 + public String getVaginaYdqjd() {
501 501 return vaginaYdqjd;
502 502 }
503 503  
504   - public void setVaginaYdqjd(Integer vaginaYdqjd) {
  504 + public void setVaginaYdqjd(String vaginaYdqjd) {
505 505 this.vaginaYdqjd = vaginaYdqjd;
506 506 }
507 507  
... ... @@ -545,6 +545,5 @@
545 545 this.childKgj = childKgj;
546 546 }
547 547  
548   -
549 548 }
parent/hospital.mac/src/main/java/com/lyms/hospital/entity/history/HistoryMaps.java View file @ 40110fe
... ... @@ -17,6 +17,9 @@
17 17 public class HistoryMaps implements Serializable {
18 18  
19 19 private static final long serialVersionUID = 1L;
  20 + //关联目标类型:1产检、2妇女建档
  21 + public static final int TARGET_TYPE_EXAM = 1;
  22 + public static final int TARGET_TYPE_WOMAN_RECORD = 2;
20 23  
21 24 /**
22 25 *
parent/hospital.mac/src/main/java/com/lyms/hospital/service/diagnose/impl/DiagnoseInfoServiceImpl.java View file @ 40110fe
... ... @@ -17,6 +17,7 @@
17 17 import com.lyms.hospital.entity.history.HistoryMaps;
18 18 import com.lyms.hospital.service.assist.DiagnoseAssitService;
19 19 import com.lyms.hospital.service.diagnose.DiagnoseInfoService;
  20 +import com.lyms.hospital.service.history.HistoryMapsService;
20 21 import com.lyms.util.StrUtils;
21 22  
22 23 /**
... ... @@ -34,6 +35,8 @@
34 35  
35 36 @Autowired
36 37 private DiagnoseAssitService diagnoseAssitService;
  38 + @Autowired
  39 + private HistoryMapsService historyMapsService;
37 40  
38 41 public Integer deleteLogicById(Serializable id) {
39 42 return baseMapper.deleteLogicById(id);
... ... @@ -118,33 +121,23 @@
118 121 /*
119 122 * (1)保存产检基本信息 (2)批量保存病史信息 (3)保存辅助检查信息
120 123 */
121   -// if (StringUtils.isEmpty(info.getId())) {//新增
122   -// info.setId(StrUtils.uuid());
123   -// insert(info);
124   -// if (StringUtils.isEmpty(assist.getId())) {
125   -// assist.setId(StrUtils.uuid());
126   -// }
127   -// diagnoseAssit.setDiagnoseId(dInfo.getId());
128   -// diagnoseAssitService.insert(diagnoseAssit);
129   -// } else {//修改
130   -// updateById(dInfo);
131   -// diagnoseAssitService.updateById(diagnoseAssit);
132   -// }
133   - return null;
134   -
135   - /*
136   - 既往史
137   - "pastHistory":"yes"
138   -
139   -
140   - TARGET_TYPE
141   - "familyHistory":"yes"
142   - familyHistory xyb true;
143   -
144   -
145   -
146   - */
147   -
  124 + if (StringUtils.isEmpty(info.getId())) {//新增
  125 + info.setId(StrUtils.uuid());
  126 + insert(info);//新增产检基本信息
  127 + //保存产检病史信息
  128 + historyMapsService.insertHistoryMapsList(info.getId(), HistoryMaps.TARGET_TYPE_EXAM, historyList);
  129 + if (StringUtils.isEmpty(assist.getId())) {
  130 + assist.setId(StrUtils.uuid());
  131 + }
  132 + assist.setDiagnoseId(info.getId());
  133 + assist.setDiagnoseType(DiagnoseAssit.DIAGNOSE_TYPE_BIRTH);//诊断类型:1婚前检查,2产检,3儿保检查
  134 + diagnoseAssitService.insert(assist);//新增产检辅助检查
  135 + } else {//修改
  136 + updateById(info);
  137 + historyMapsService.insertHistoryMapsList(info.getId(), HistoryMaps.TARGET_TYPE_EXAM, historyList);
  138 + diagnoseAssitService.updateById(assist);
  139 + }
  140 + return "success";
148 141 }
149 142  
150 143 @Override
parent/hospital.mac/src/main/java/com/lyms/hospital/service/history/HistoryMapsService.java View file @ 40110fe
... ... @@ -28,10 +28,11 @@
28 28 * <li>@param list
29 29 * <li>创建人:方承
30 30 * <li>创建时间:2017年3月31日
31   - * <li>修改人:
32   - * <li>修改时间:
  31 + * <li>修改人:xujiahong
  32 + * <li>修改时间:2017年4月28日
  33 + *
33 34 */
34   - public void insertHistoryMapsList(Serializable womanid,List<HistoryMaps> list);
  35 + public void insertHistoryMapsList(String targetId,Integer targetType,List<HistoryMaps> list);
35 36  
36 37 }
parent/hospital.mac/src/main/java/com/lyms/hospital/service/history/impl/HistoryMapsServiceImpl.java View file @ 40110fe
... ... @@ -7,6 +7,7 @@
7 7 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
8 8 import org.springframework.stereotype.Service;
9 9 import org.springframework.transaction.annotation.Transactional;
  10 +import org.springframework.util.StringUtils;
10 11  
11 12 import java.io.Serializable;
12 13 import java.util.List;
... ... @@ -28,8 +29,11 @@
28 29  
29 30 @Override
30 31 @Transactional
31   - public void insertHistoryMapsList(Serializable womanid,List<HistoryMaps> list) {
32   - delete(new EntityWrapper<HistoryMaps>().where("woman_id={0}", womanid));
  32 + public void insertHistoryMapsList(String targetId,Integer targetType,List<HistoryMaps> list) {
  33 + if(StringUtils.isEmpty(targetId) && targetType!=null){
  34 + return;
  35 + }
  36 + delete(new EntityWrapper<HistoryMaps>().where("targetId={0}", targetId).and("targetType={0}", targetType));
33 37 insertBatch(list);
34 38 }
35 39 }
parent/hospital.mac/src/main/java/com/lyms/hospital/service/woman/impl/WomanRecordServiceImpl.java View file @ 40110fe
... ... @@ -63,7 +63,8 @@
63 63 @Transactional
64 64 public boolean updatebuildRecord(WomanRecord womanRecord, List<HistoryMaps> HistoryMapsList) {
65 65 womanPersonService.insertOrUpdate(womanRecord);
66   - historyMapsService.insertHistoryMapsList(womanRecord.getId(), HistoryMapsList);
  66 + //妇女建档插入病史信息
  67 + historyMapsService.insertHistoryMapsList(womanRecord.getId(),HistoryMaps.TARGET_TYPE_WOMAN_RECORD, HistoryMapsList);
67 68 return updateById(womanRecord);
68 69 }
69 70  
parent/hospital.web/src/main/java/com/lyms/hospital/controller/CommonApiController.java View file @ 40110fe
... ... @@ -26,9 +26,9 @@
26 26 * 公用接口-前端控制器
27 27 * </p>
28 28 *
29   - * -查询病史配置<br>
30   - * -查询省市区数据<br>
31   - * -查询字典数据<br>
  29 + * []查询病史配置<br>
  30 + * 查询省市区数据<br>
  31 + * 查询字典数据<br>
32 32 *
33 33 * @author xujiahong
34 34 * @since 2017-04-21
... ... @@ -42,6 +42,14 @@
42 42 @Autowired
43 43 private HistorySourceService historySourceService;
44 44  
  45 + /**
  46 + * <li>@Description:查询病史配置
  47 + * <li>@return
  48 + * <li>创建人:xujiahong
  49 + * <li>创建时间:2017年4月28日
  50 + * <li>修改人:
  51 + * <li>修改时间:
  52 + */
45 53 @RequestMapping(value = "/queryHistorySource", method = RequestMethod.GET)
46 54 @ResponseBody
47 55 public AjaxResult queryHistorySource() {
parent/hospital.web/src/main/java/com/lyms/hospital/controller/woman/WomanExamController.java View file @ 40110fe
... ... @@ -14,11 +14,18 @@
14 14 import org.springframework.web.bind.annotation.RequestMethod;
15 15 import org.springframework.web.bind.annotation.ResponseBody;
16 16  
  17 +import com.lyms.hospital.entity.assist.DiagnoseAssit;
  18 +import com.lyms.hospital.entity.diagnose.DiagnoseInfo;
  19 +import com.lyms.hospital.entity.history.HistoryMaps;
17 20 import com.lyms.hospital.entity.woman.WomanFetationRecord;
18 21 import com.lyms.hospital.request.exam.ExamAddRequest;
  22 +import com.lyms.hospital.response.keymap.DiagnoseAssistKeymap;
  23 +import com.lyms.hospital.response.keymap.WomanExamKeymap;
  24 +import com.lyms.hospital.service.assist.DiagnoseAssitService;
19 25 import com.lyms.hospital.service.diagnose.DiagnoseInfoService;
20 26 import com.lyms.hospital.service.woman.WomanFetationRecordService;
21 27 import com.lyms.hospital.util.HospitalUtil;
  28 +import com.lyms.hospital.util.trans.XjhMapUtil;
22 29 import com.lyms.util.DateUtil;
23 30 import com.lyms.web.bean.AjaxResult;
24 31 import com.lyms.web.controller.BaseController;
... ... @@ -27,7 +34,9 @@
27 34 * 孕妇产检 前端控制器<br>
28 35 *
29 36 * [--]依据cardNo或vcCardNo查询孕妇产检记录
30   - * 保存初诊数据
  37 + * [--]保存初诊数据
  38 + * 保存复诊数据
  39 + * 查询某条记录的详细信息,用于表单填写
31 40 *
32 41 * @author xujiahong
33 42 *
34 43  
... ... @@ -40,8 +49,36 @@
40 49 private WomanFetationRecordService fetationService;
41 50 @Autowired
42 51 private DiagnoseInfoService infoService;
  52 + @Autowired
  53 + private DiagnoseAssitService assistService;
43 54  
44 55 /**
  56 + * <li>@Description:查询某条记录的详细信息,用于表单填写
  57 + * <li>@param id
  58 + * <li>@param type
  59 + * <li>@return
  60 + * <li>创建人:xujiahong
  61 + * <li>创建时间:2017年4月28日
  62 + * <li>修改人:
  63 + * <li>修改时间:
  64 + */
  65 + @RequestMapping(value = "/antex", method = RequestMethod.GET)
  66 + @ResponseBody
  67 + public AjaxResult selectExamForm(String id,Integer type){
  68 + /*
  69 + * 产检基础信息
  70 + * 产检辅助信息
  71 + * 病史列表
  72 + * 胎儿列表
  73 + * 诊断列表
  74 + */
  75 + DiagnoseInfo info = infoService.selectById(id);//产检基础信息
  76 +
  77 +
  78 + return AjaxResult.returnFail();
  79 + }
  80 +
  81 + /**
45 82 * <li>@Description:保存初诊数据
46 83 * <li>@param request
47 84 * <li>@return
48 85  
49 86  
50 87  
51 88  
... ... @@ -50,18 +87,55 @@
50 87 * <li>修改人:
51 88 * <li>修改时间:
52 89 */
  90 + @SuppressWarnings({ "unchecked", "rawtypes" })
53 91 @RequestMapping(value = "/antex", method = RequestMethod.POST)
54 92 @ResponseBody
55   - public AjaxResult saveExam(@RequestBody ExamAddRequest request){
  93 + public AjaxResult saveFirstExam(@RequestBody ExamAddRequest request){
56 94 /*
57 95 * (1)保存产检基本信息
58   - *
59 96 * (2)批量保存病史信息
60 97 * (3)保存辅助检查信息
61   - * 多个胎儿信息
62   - *
  98 + * 多个胎儿信息 TODO
  99 + * 多个诊断信息 TODO
63 100 */
64   - return AjaxResult.returnFail();
  101 + /*
  102 + * 对象转换
  103 + */
  104 + Map<String,Object> infoMap = XjhMapUtil.transBean2FormatAliasMap(
  105 + request, XjhMapUtil.getKeyMap(WomanExamKeymap.original, WomanExamKeymap.alias)
  106 + );
  107 + Map<String,Object> assistMap = XjhMapUtil.transBean2FormatAliasMap(
  108 + request, XjhMapUtil.getKeyMap(DiagnoseAssistKeymap.original, DiagnoseAssistKeymap.alias)
  109 + );
  110 + DiagnoseInfo info = (DiagnoseInfo) XjhMapUtil.transMap2FormatBean(infoMap, new DiagnoseInfo());
  111 + info.setWomanId(request.getParentId());//孕妇档案ID
  112 + info.setPersonId(request.getPid());//女性居民ID
  113 + //血压
  114 + Map bp = request.getBp();
  115 + if(bp!=null){
  116 + String[] original = {"ssy","szy"};
  117 + String[] alias = {"bloodShrink","bloodDiastole",};
  118 + info = (DiagnoseInfo) XjhMapUtil.transMap2AliasBean(bp, info,
  119 + XjhMapUtil.getKeyMap(original, alias));
  120 + }
  121 +
  122 + DiagnoseAssit assist = (DiagnoseAssit) XjhMapUtil.transMap2FormatBean(assistMap,new DiagnoseAssit());
  123 + //其他老版本结构数据补录
  124 + //阴道分泌物
  125 + Map ydfmw = request.getYdfmw();
  126 + if(ydfmw!=null){
  127 + String[] original = {"ydqjd","dc","jsjmj","qt","qtText"};
  128 + String[] alias = {"vaginaYdqjd","vaginaDc","vaginaJsjmj","vaginaOther","vaginaOtherTxt"};
  129 + assist = (DiagnoseAssit) XjhMapUtil.transMap2AliasBean(ydfmw, assist,
  130 + XjhMapUtil.getKeyMap(original, alias));
  131 + }
  132 +
  133 +
  134 +
  135 + List<HistoryMaps> historyList = request.getHistoryList();
  136 + //保存初诊信息CollectionUtil
  137 + String result = infoService.saveFirstExam(info, assist, historyList);
  138 + return "success".equals(result)?AjaxResult.returnSuccess():AjaxResult.returnFail(result);
65 139 }
66 140  
67 141 /**
parent/hospital.web/src/main/java/com/lyms/hospital/request/exam/ExamAddRequest.java View file @ 40110fe
... ... @@ -5,6 +5,7 @@
5 5  
6 6 import org.hibernate.validator.constraints.NotEmpty;
7 7  
  8 +import com.lyms.hospital.entity.history.HistoryMaps;
8 9 import com.lyms.hospital.util.Form;
9 10 import com.lyms.hospital.util.FormParam;
10 11  
11 12  
... ... @@ -199,8 +200,28 @@
199 200 private Integer abortionZR;
200 201 //人工流产
201 202 private Integer abortionRG;
  203 +
  204 +
  205 +
  206 + /**
  207 + * 病史列表
  208 + */
  209 + private List<HistoryMaps> historyList;
  210 +
  211 +
  212 +
  213 +
202 214  
203   - public String getBarCode() {
  215 +
  216 + public List<HistoryMaps> getHistoryList() {
  217 + return historyList;
  218 + }
  219 +
  220 + public void setHistoryList(List<HistoryMaps> historyList) {
  221 + this.historyList = historyList;
  222 + }
  223 +
  224 + public String getBarCode() {
204 225 return barCode;
205 226 }
206 227  
parent/hospital.web/src/main/java/com/lyms/hospital/response/keymap/DiagnoseAssistKeymap.java View file @ 40110fe
... ... @@ -75,7 +75,7 @@
75 75 // "vaginaJsjmj",//
76 76 // "vaginaOther",//
77 77 // "vaginaOtherTxt",//
78   - "vaginaYdqjd",//
  78 +// "vaginaYdqjd",//
79 79  
80 80 //影像检查 1
81 81 "imageBultrasound",//
... ... @@ -132,7 +132,6 @@
132 132  
133 133 //阴道分泌物 5
134 134 // "ydfmw",//Map 字段
135   - "ydqjd",//阴道清洁度
136 135  
137 136 //影像检查 1
138 137 "bChao",//
parent/hospital.web/src/main/java/com/lyms/hospital/util/trans/XjhMapUtil.java View file @ 40110fe
... ... @@ -77,6 +77,28 @@
77 77 }
78 78 return obj;
79 79 }
  80 +
  81 + public static Object transMap2AliasBean(Map<String, Object> map, Object obj, HashMap<String, String> keyMap) {
  82 + if(map==null || obj==null || keyMap==null){
  83 + return null;
  84 + }
  85 + try {
  86 + BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
  87 + PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
  88 + for (PropertyDescriptor property : propertyDescriptors) {
  89 + String field = property.getName();
  90 + if (keyMap.containsKey(field)) {
  91 + Object value = map.get(keyMap.get(field));
  92 + invokeIgnoreType(property,value,obj);
  93 + }
  94 + }
  95 + } catch (Exception e) {
  96 + System.err.println("映射"+obj.getClass().getName()+"对象时发生错误");
  97 + System.err.println("transMap2Bean Error " + e);
  98 + e.printStackTrace();
  99 + }
  100 + return obj;
  101 + }
80 102  
81 103 // 自动处理时间字段和对应的字符串字段(Str结尾)
82 104 public static Object transMap2FormatBean(Map<String, Object> map, Object obj) {
... ... @@ -188,7 +210,7 @@
188 210 // 得到property对应的getter方法
189 211 Method getter = property.getReadMethod();
190 212 Object value = getter.invoke(obj);
191   - if (keyMap.get(field) != null) {
  213 + if (keyMap.containsKey(field)) {
192 214 map.put(keyMap.get(field), value);
193 215 }
194 216 }