diff --git a/parent/hospital.mac/src/main/java/com/lyms/hospital/entity/assist/DiagnoseAssit.java b/parent/hospital.mac/src/main/java/com/lyms/hospital/entity/assist/DiagnoseAssit.java index 3be53ab..50e5033 100644 --- a/parent/hospital.mac/src/main/java/com/lyms/hospital/entity/assist/DiagnoseAssit.java +++ b/parent/hospital.mac/src/main/java/com/lyms/hospital/entity/assist/DiagnoseAssit.java @@ -197,7 +197,7 @@ public class DiagnoseAssit implements Serializable { * 阴道清洁度 */ @TableField(value="VAGINA_YDQJD") - private Integer vaginaYdqjd; + private String vaginaYdqjd; /** * B超描述 */ @@ -497,11 +497,11 @@ public class DiagnoseAssit implements Serializable { this.vaginaOtherTxt = vaginaOtherTxt; } - public Integer getVaginaYdqjd() { + public String getVaginaYdqjd() { return vaginaYdqjd; } - public void setVaginaYdqjd(Integer vaginaYdqjd) { + public void setVaginaYdqjd(String vaginaYdqjd) { this.vaginaYdqjd = vaginaYdqjd; } @@ -545,5 +545,4 @@ public class DiagnoseAssit implements Serializable { this.childKgj = childKgj; } - } diff --git a/parent/hospital.mac/src/main/java/com/lyms/hospital/entity/history/HistoryMaps.java b/parent/hospital.mac/src/main/java/com/lyms/hospital/entity/history/HistoryMaps.java index 9e63973..01d5dba 100644 --- a/parent/hospital.mac/src/main/java/com/lyms/hospital/entity/history/HistoryMaps.java +++ b/parent/hospital.mac/src/main/java/com/lyms/hospital/entity/history/HistoryMaps.java @@ -17,6 +17,9 @@ import java.io.Serializable; public class HistoryMaps implements Serializable { private static final long serialVersionUID = 1L; + //关联目标类型:1产检、2妇女建档 + public static final int TARGET_TYPE_EXAM = 1; + public static final int TARGET_TYPE_WOMAN_RECORD = 2; /** * diff --git a/parent/hospital.mac/src/main/java/com/lyms/hospital/service/diagnose/impl/DiagnoseInfoServiceImpl.java b/parent/hospital.mac/src/main/java/com/lyms/hospital/service/diagnose/impl/DiagnoseInfoServiceImpl.java index 182f2f8..fbd143a 100644 --- a/parent/hospital.mac/src/main/java/com/lyms/hospital/service/diagnose/impl/DiagnoseInfoServiceImpl.java +++ b/parent/hospital.mac/src/main/java/com/lyms/hospital/service/diagnose/impl/DiagnoseInfoServiceImpl.java @@ -17,6 +17,7 @@ import com.lyms.hospital.entity.diagnose.DiagnoseInfo; import com.lyms.hospital.entity.history.HistoryMaps; import com.lyms.hospital.service.assist.DiagnoseAssitService; import com.lyms.hospital.service.diagnose.DiagnoseInfoService; +import com.lyms.hospital.service.history.HistoryMapsService; import com.lyms.util.StrUtils; /** @@ -34,6 +35,8 @@ public class DiagnoseInfoServiceImpl extends ServiceImpl { *
  • @param list *
  • 创建人:方承 *
  • 创建时间:2017年3月31日 - *
  • 修改人: - *
  • 修改时间: + *
  • 修改人:xujiahong + *
  • 修改时间:2017年4月28日 + * */ - public void insertHistoryMapsList(Serializable womanid,List list); + public void insertHistoryMapsList(String targetId,Integer targetType,List list); } diff --git a/parent/hospital.mac/src/main/java/com/lyms/hospital/service/history/impl/HistoryMapsServiceImpl.java b/parent/hospital.mac/src/main/java/com/lyms/hospital/service/history/impl/HistoryMapsServiceImpl.java index 2c86dbd..34a8469 100644 --- a/parent/hospital.mac/src/main/java/com/lyms/hospital/service/history/impl/HistoryMapsServiceImpl.java +++ b/parent/hospital.mac/src/main/java/com/lyms/hospital/service/history/impl/HistoryMapsServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils; import java.io.Serializable; import java.util.List; @@ -28,8 +29,11 @@ public class HistoryMapsServiceImpl extends ServiceImpl list) { - delete(new EntityWrapper().where("woman_id={0}", womanid)); + public void insertHistoryMapsList(String targetId,Integer targetType,List list) { + if(StringUtils.isEmpty(targetId) && targetType!=null){ + return; + } + delete(new EntityWrapper().where("targetId={0}", targetId).and("targetType={0}", targetType)); insertBatch(list); } } diff --git a/parent/hospital.mac/src/main/java/com/lyms/hospital/service/woman/impl/WomanRecordServiceImpl.java b/parent/hospital.mac/src/main/java/com/lyms/hospital/service/woman/impl/WomanRecordServiceImpl.java index bc4558a..8e2f2ee 100644 --- a/parent/hospital.mac/src/main/java/com/lyms/hospital/service/woman/impl/WomanRecordServiceImpl.java +++ b/parent/hospital.mac/src/main/java/com/lyms/hospital/service/woman/impl/WomanRecordServiceImpl.java @@ -63,7 +63,8 @@ public class WomanRecordServiceImpl extends ServiceImpl HistoryMapsList) { womanPersonService.insertOrUpdate(womanRecord); - historyMapsService.insertHistoryMapsList(womanRecord.getId(), HistoryMapsList); + //妇女建档插入病史信息 + historyMapsService.insertHistoryMapsList(womanRecord.getId(),HistoryMaps.TARGET_TYPE_WOMAN_RECORD, HistoryMapsList); return updateById(womanRecord); } diff --git a/parent/hospital.web/src/main/java/com/lyms/hospital/controller/CommonApiController.java b/parent/hospital.web/src/main/java/com/lyms/hospital/controller/CommonApiController.java index d95c7af..076c3a8 100644 --- a/parent/hospital.web/src/main/java/com/lyms/hospital/controller/CommonApiController.java +++ b/parent/hospital.web/src/main/java/com/lyms/hospital/controller/CommonApiController.java @@ -26,9 +26,9 @@ import com.lyms.web.controller.BaseController; * 公用接口-前端控制器 *

    * - * -查询病史配置
    - * -查询省市区数据
    - * -查询字典数据
    + * []查询病史配置
    + * 查询省市区数据
    + * 查询字典数据
    * * @author xujiahong * @since 2017-04-21 @@ -42,6 +42,14 @@ public class CommonApiController extends BaseController { @Autowired private HistorySourceService historySourceService; + /** + *
  • @Description:查询病史配置 + *
  • @return + *
  • 创建人:xujiahong + *
  • 创建时间:2017年4月28日 + *
  • 修改人: + *
  • 修改时间: + */ @RequestMapping(value = "/queryHistorySource", method = RequestMethod.GET) @ResponseBody public AjaxResult queryHistorySource() { diff --git a/parent/hospital.web/src/main/java/com/lyms/hospital/controller/woman/WomanExamController.java b/parent/hospital.web/src/main/java/com/lyms/hospital/controller/woman/WomanExamController.java index 7b7d0e6..97e8f1c 100644 --- a/parent/hospital.web/src/main/java/com/lyms/hospital/controller/woman/WomanExamController.java +++ b/parent/hospital.web/src/main/java/com/lyms/hospital/controller/woman/WomanExamController.java @@ -14,11 +14,18 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; +import com.lyms.hospital.entity.assist.DiagnoseAssit; +import com.lyms.hospital.entity.diagnose.DiagnoseInfo; +import com.lyms.hospital.entity.history.HistoryMaps; import com.lyms.hospital.entity.woman.WomanFetationRecord; import com.lyms.hospital.request.exam.ExamAddRequest; +import com.lyms.hospital.response.keymap.DiagnoseAssistKeymap; +import com.lyms.hospital.response.keymap.WomanExamKeymap; +import com.lyms.hospital.service.assist.DiagnoseAssitService; import com.lyms.hospital.service.diagnose.DiagnoseInfoService; import com.lyms.hospital.service.woman.WomanFetationRecordService; import com.lyms.hospital.util.HospitalUtil; +import com.lyms.hospital.util.trans.XjhMapUtil; import com.lyms.util.DateUtil; import com.lyms.web.bean.AjaxResult; import com.lyms.web.controller.BaseController; @@ -27,7 +34,9 @@ import com.lyms.web.controller.BaseController; * 孕妇产检 前端控制器
    * * [--]依据cardNo或vcCardNo查询孕妇产检记录 - * 保存初诊数据 + * [--]保存初诊数据 + * 保存复诊数据 + * 查询某条记录的详细信息,用于表单填写 * * @author xujiahong * @@ -40,6 +49,34 @@ public class WomanExamController extends BaseController { private WomanFetationRecordService fetationService; @Autowired private DiagnoseInfoService infoService; + @Autowired + private DiagnoseAssitService assistService; + + /** + *
  • @Description:查询某条记录的详细信息,用于表单填写 + *
  • @param id + *
  • @param type + *
  • @return + *
  • 创建人:xujiahong + *
  • 创建时间:2017年4月28日 + *
  • 修改人: + *
  • 修改时间: + */ + @RequestMapping(value = "/antex", method = RequestMethod.GET) + @ResponseBody + public AjaxResult selectExamForm(String id,Integer type){ + /* + * 产检基础信息 + * 产检辅助信息 + * 病史列表 + * 胎儿列表 + * 诊断列表 + */ + DiagnoseInfo info = infoService.selectById(id);//产检基础信息 + + + return AjaxResult.returnFail(); + } /** *
  • @Description:保存初诊数据 @@ -50,18 +87,55 @@ public class WomanExamController extends BaseController { *
  • 修改人: *
  • 修改时间: */ + @SuppressWarnings({ "unchecked", "rawtypes" }) @RequestMapping(value = "/antex", method = RequestMethod.POST) @ResponseBody - public AjaxResult saveExam(@RequestBody ExamAddRequest request){ + public AjaxResult saveFirstExam(@RequestBody ExamAddRequest request){ /* * (1)保存产检基本信息 - * * (2)批量保存病史信息 * (3)保存辅助检查信息 - * 多个胎儿信息 - * + * 多个胎儿信息 TODO + * 多个诊断信息 TODO */ - return AjaxResult.returnFail(); + /* + * 对象转换 + */ + Map infoMap = XjhMapUtil.transBean2FormatAliasMap( + request, XjhMapUtil.getKeyMap(WomanExamKeymap.original, WomanExamKeymap.alias) + ); + Map assistMap = XjhMapUtil.transBean2FormatAliasMap( + request, XjhMapUtil.getKeyMap(DiagnoseAssistKeymap.original, DiagnoseAssistKeymap.alias) + ); + DiagnoseInfo info = (DiagnoseInfo) XjhMapUtil.transMap2FormatBean(infoMap, new DiagnoseInfo()); + info.setWomanId(request.getParentId());//孕妇档案ID + info.setPersonId(request.getPid());//女性居民ID + //血压 + Map bp = request.getBp(); + if(bp!=null){ + String[] original = {"ssy","szy"}; + String[] alias = {"bloodShrink","bloodDiastole",}; + info = (DiagnoseInfo) XjhMapUtil.transMap2AliasBean(bp, info, + XjhMapUtil.getKeyMap(original, alias)); + } + + DiagnoseAssit assist = (DiagnoseAssit) XjhMapUtil.transMap2FormatBean(assistMap,new DiagnoseAssit()); + //其他老版本结构数据补录 + //阴道分泌物 + Map ydfmw = request.getYdfmw(); + if(ydfmw!=null){ + String[] original = {"ydqjd","dc","jsjmj","qt","qtText"}; + String[] alias = {"vaginaYdqjd","vaginaDc","vaginaJsjmj","vaginaOther","vaginaOtherTxt"}; + assist = (DiagnoseAssit) XjhMapUtil.transMap2AliasBean(ydfmw, assist, + XjhMapUtil.getKeyMap(original, alias)); + } + + + + List historyList = request.getHistoryList(); + //保存初诊信息CollectionUtil + String result = infoService.saveFirstExam(info, assist, historyList); + return "success".equals(result)?AjaxResult.returnSuccess():AjaxResult.returnFail(result); } /** diff --git a/parent/hospital.web/src/main/java/com/lyms/hospital/request/exam/ExamAddRequest.java b/parent/hospital.web/src/main/java/com/lyms/hospital/request/exam/ExamAddRequest.java index 17ff699..4934261 100644 --- a/parent/hospital.web/src/main/java/com/lyms/hospital/request/exam/ExamAddRequest.java +++ b/parent/hospital.web/src/main/java/com/lyms/hospital/request/exam/ExamAddRequest.java @@ -5,6 +5,7 @@ import java.util.Map; import org.hibernate.validator.constraints.NotEmpty; +import com.lyms.hospital.entity.history.HistoryMaps; import com.lyms.hospital.util.Form; import com.lyms.hospital.util.FormParam; @@ -199,8 +200,28 @@ public class ExamAddRequest{ private Integer abortionZR; //人工流产 private Integer abortionRG; - - public String getBarCode() { + + + + /** + * 病史列表 + */ + private List historyList; + + + + + + + public List getHistoryList() { + return historyList; + } + + public void setHistoryList(List historyList) { + this.historyList = historyList; + } + + public String getBarCode() { return barCode; } diff --git a/parent/hospital.web/src/main/java/com/lyms/hospital/response/keymap/DiagnoseAssistKeymap.java b/parent/hospital.web/src/main/java/com/lyms/hospital/response/keymap/DiagnoseAssistKeymap.java index 09f7635..5e03e5c 100644 --- a/parent/hospital.web/src/main/java/com/lyms/hospital/response/keymap/DiagnoseAssistKeymap.java +++ b/parent/hospital.web/src/main/java/com/lyms/hospital/response/keymap/DiagnoseAssistKeymap.java @@ -75,7 +75,7 @@ public class DiagnoseAssistKeymap { // "vaginaJsjmj",// // "vaginaOther",// // "vaginaOtherTxt",// - "vaginaYdqjd",// +// "vaginaYdqjd",// //影像检查 1 "imageBultrasound",// @@ -132,7 +132,6 @@ public class DiagnoseAssistKeymap { //阴道分泌物 5 // "ydfmw",//Map 字段 - "ydqjd",//阴道清洁度 //影像检查 1 "bChao",// diff --git a/parent/hospital.web/src/main/java/com/lyms/hospital/util/trans/XjhMapUtil.java b/parent/hospital.web/src/main/java/com/lyms/hospital/util/trans/XjhMapUtil.java index c290b26..b7c8c7a 100644 --- a/parent/hospital.web/src/main/java/com/lyms/hospital/util/trans/XjhMapUtil.java +++ b/parent/hospital.web/src/main/java/com/lyms/hospital/util/trans/XjhMapUtil.java @@ -77,6 +77,28 @@ public class XjhMapUtil { } return obj; } + + public static Object transMap2AliasBean(Map map, Object obj, HashMap keyMap) { + if(map==null || obj==null || keyMap==null){ + return null; + } + try { + BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass()); + PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); + for (PropertyDescriptor property : propertyDescriptors) { + String field = property.getName(); + if (keyMap.containsKey(field)) { + Object value = map.get(keyMap.get(field)); + invokeIgnoreType(property,value,obj); + } + } + } catch (Exception e) { + System.err.println("映射"+obj.getClass().getName()+"对象时发生错误"); + System.err.println("transMap2Bean Error " + e); + e.printStackTrace(); + } + return obj; + } // 自动处理时间字段和对应的字符串字段(Str结尾) public static Object transMap2FormatBean(Map map, Object obj) { @@ -188,7 +210,7 @@ public class XjhMapUtil { // 得到property对应的getter方法 Method getter = property.getReadMethod(); Object value = getter.invoke(obj); - if (keyMap.get(field) != null) { + if (keyMap.containsKey(field)) { map.put(keyMap.get(field), value); } }