Commit 91a052c9667cfb9f82b615da0e84d1a9f07e90b3

Authored by xujiahong
1 parent 913199e234
Exists in master

日常提交-解决冲突

Showing 29 changed files with 1912 additions and 724 deletions

parent/base.common/src/main/java/com/lyms/base/common/service/organ/OrganizationsService.java View file @ 91a052c
... ... @@ -72,6 +72,17 @@
72 72 * <li>修改时间:
73 73 */
74 74 public Page<Organizations> listOrgs(Page<Organizations> page,Serializable orgids);
  75 +
  76 + /**
  77 + * <li>@Description:通过机构ID获取机构名称
  78 + * <li>@param id
  79 + * <li>@return
  80 + * <li>创建人:xujiahong
  81 + * <li>创建时间:2017年5月8日
  82 + * <li>修改人:
  83 + * <li>修改时间:
  84 + */
  85 + public String getNameById(String id);
75 86  
76 87 }
parent/base.common/src/main/java/com/lyms/base/common/service/organ/impl/OrganizationsServiceImpl.java View file @ 91a052c
... ... @@ -78,5 +78,11 @@
78 78 return page;
79 79 }
80 80  
  81 + @Override
  82 + public String getNameById(String id) {
  83 + Organizations org = this.selectById(id);
  84 + return org==null?null:org.getName();
  85 + }
  86 +
81 87 }
parent/hospital.mac/src/main/java/com/lyms/hospital/entity/diagnose/DiagnoseInfo.java View file @ 91a052c
... ... @@ -20,9 +20,9 @@
20 20  
21 21 private static final long serialVersionUID = 1L;
22 22  
23   - //诊断类型,0为初诊,1为复诊
24   - public static final int TYPE_FIRST = 1;
25   - public static final int TYPE_SECOND = 2;
  23 + //诊断类型,2为初诊,3为复诊
  24 + public static final int TYPE_FIRST = 2;
  25 + public static final int TYPE_SECOND = 3;
26 26  
27 27 /**
28 28 *
... ... @@ -35,7 +35,7 @@
35 35 @TableField(value = "WOMAN_ID")
36 36 private String womanId;
37 37 /**
38   - * 诊断类型,0为初诊,1为复诊
  38 + * 诊断类型,2为初诊,3为复诊
39 39 */
40 40 @TableField(value = "TYPE")
41 41 private Integer type;
parent/hospital.mac/src/main/java/com/lyms/hospital/service/childbirth/ChildbirthInfoService.java View file @ 91a052c
1 1 package com.lyms.hospital.service.childbirth;
2 2  
3 3 import java.io.Serializable;
  4 +import java.util.List;
4 5  
5 6 import com.baomidou.mybatisplus.plugins.Page;
6 7 import com.lyms.hospital.entity.childbirth.ChildbirthInfo;
... ... @@ -96,6 +97,17 @@
96 97 * <li>修改时间:
97 98 */
98 99 public Page<ChildbirthListVo> listOfChildbirth(Page<ChildbirthListVo> page,ChildbirthListVo vo);
  100 +
  101 + /**
  102 + * <li>@Description:通过孕妇ID查询所有分娩记录
  103 + * <li>@param womanId
  104 + * <li>@return
  105 + * <li>创建人:xujiahong
  106 + * <li>创建时间:2017年5月8日
  107 + * <li>修改人:
  108 + * <li>修改时间:
  109 + */
  110 + public List<ChildbirthInfo> selectListByWomanId(String womanId);
99 111  
100 112 }
parent/hospital.mac/src/main/java/com/lyms/hospital/service/childbirth/impl/ChildbirthInfoServiceImpl.java View file @ 91a052c
... ... @@ -121,7 +121,6 @@
121 121 @Override
122 122 @Transactional
123 123 public ChildbirthInfoVo selectChildbirthVo(String id) {
124   - // TODO Auto-generated method stub
125 124 ChildbirthInfoVo vo = new ChildbirthInfoVo();
126 125 //查询分娩详情
127 126 vo.setInfo(this.getDetailById(id));
... ... @@ -251,6 +250,16 @@
251 250 List<ChildbirthListVo> list = infoMapper.listOfChildbirth(page,vo);
252 251 page.setRecords(list);
253 252 return page;
  253 + }
  254 +
  255 + @Override
  256 + public List<ChildbirthInfo> selectListByWomanId(String womanId) {
  257 + if(StringUtils.isEmpty(womanId)){
  258 + return null;
  259 + }
  260 + EntityWrapper<ChildbirthInfo> ew = new EntityWrapper<ChildbirthInfo>();
  261 + ew.where("WOMAN_ID = {0}", womanId);
  262 + return this.selectList(ew);
254 263 }
255 264 }
parent/hospital.mac/src/main/java/com/lyms/hospital/service/diagnose/DiagnoseInfoService.java View file @ 91a052c
... ... @@ -3,6 +3,7 @@
3 3 import java.io.Serializable;
4 4 import java.util.List;
5 5  
  6 +import com.lyms.base.common.entity.conf.DiagnoseConf;
6 7 import com.lyms.base.common.entity.conf.HighriskConf;
7 8 import com.lyms.hospital.entity.assist.DiagnoseAssit;
8 9 import com.lyms.hospital.entity.diagnose.DiagnoseInfo;
... ... @@ -14,8 +15,9 @@
14 15 * <p>
15 16 * 服务类
16 17 *
17   - * 保存初诊数据
18   - * 保存复诊数据
  18 + * 保存初诊数据<br/>
  19 + * 保存复诊数据<br/>
  20 + * 根据孕妇建档ID查询产检基本信息列表<br/>
19 21 * </p>
20 22 *
21 23 * @author jiangjiazhi
... ... @@ -23,24 +25,48 @@
23 25 */
24 26 public interface DiagnoseInfoService extends BaseService<DiagnoseInfo> {
25 27  
26   - /**
27   - * <li>@Description:逻辑删除,ifDel = 1 为删除,否则为没有删除
28   - * <li>@param id 删除主键id
29   - * <li>@return 大于0修改成功,否则为失败
30   - */
31   - public Integer deleteLogicById(Serializable id);
32   -
33   - /**
34   - * <li>@Description:保存初诊数据
35   - * <li>@return
36   - * <li>创建人:xujiahong
37   - * <li>创建时间:2017年4月26日
38   - * <li>修改人:
39   - * <li>修改时间:
40   - */
41   - public String saveFirstExam(DiagnoseInfo info,DiagnoseAssit assist,List<HistoryMaps> historyList,List<DiagnoseTai> taiList);
42   -
43   - /**
  28 + /**
  29 + * <li>@Description:逻辑删除,ifDel = 1 为删除,否则为没有删除
  30 + * <li>@param id 删除主键id
  31 + * <li>@return 大于0修改成功,否则为失败
  32 + */
  33 + public Integer deleteLogicById(Serializable id);
  34 +
  35 + /**
  36 + * <li>@Description:根据孕妇建档ID查询产检基本信息列表
  37 + * <li>@param womanId
  38 + * <li>@return
  39 + * <li>创建人:xujiahong
  40 + * <li>创建时间:2017年5月5日
  41 + * <li>修改人:
  42 + * <li>修改时间:
  43 + */
  44 + public List<DiagnoseInfo> getInfoListByWomanId(String womanId);
  45 +
  46 + /**
  47 + * <li>@Description:保存初诊数据
  48 + * <li>@return
  49 + * <li>创建人:xujiahong
  50 + * <li>创建时间:2017年4月26日
  51 + * <li>修改人:
  52 + * <li>修改时间:
  53 + */
  54 + public String saveFirstExam(DiagnoseInfo info, DiagnoseAssit assist, List<HistoryMaps> historyList,
  55 + List<DiagnoseTai> taiList);
  56 +
  57 + /**
  58 + * <li>@Description:保存复诊数据
  59 + * <li>@param info
  60 + * <li>@param taiList
  61 + * <li>@return
  62 + * <li>创建人:xujiahong
  63 + * <li>创建时间:2017年5月5日
  64 + * <li>修改人:
  65 + * <li>修改时间:
  66 + */
  67 + public String saveLaterExam(DiagnoseInfo info, List<DiagnoseTai> taiList);
  68 +
  69 + /**
44 70 * <li>@Description:根据居民ID获取末次高危
45 71 * <li>@param personId 居民ID
46 72 * <li>@return
... ... @@ -50,6 +76,17 @@
50 76 * <li>修改时间:
51 77 */
52 78 public List<HighriskConf> getLastHighrisk(Serializable personId);
  79 +
  80 + /**
  81 + * <li>@Description:根据居民ID获取末次诊断
  82 + * <li>@param personId
  83 + * <li>@return
  84 + * <li>创建人:方承
  85 + * <li>创建时间:2017年5月8日
  86 + * <li>修改人:
  87 + * <li>修改时间:
  88 + */
  89 + public List<DiagnoseConf> getLastDiagnose(Serializable personId);
53 90  
54 91 }
parent/hospital.mac/src/main/java/com/lyms/hospital/service/diagnose/impl/DiagnoseInfoServiceImpl.java View file @ 91a052c
... ... @@ -10,6 +10,7 @@
10 10  
11 11 import com.baomidou.mybatisplus.mapper.EntityWrapper;
12 12 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
  13 +import com.lyms.base.common.entity.conf.DiagnoseConf;
13 14 import com.lyms.base.common.entity.conf.HighriskConf;
14 15 import com.lyms.hospital.dao.diagnose.DiagnoseInfoMapper;
15 16 import com.lyms.hospital.entity.assist.DiagnoseAssit;
... ... @@ -129,7 +130,7 @@
129 130 */
130 131 if (StringUtils.isEmpty(info.getId())) {// 新增
131 132 info.setId(StrUtils.uuid());
132   - info.setType(DiagnoseInfo.TYPE_FIRST);// 诊断类型,0为初诊,1为复诊
  133 + info.setType(DiagnoseInfo.TYPE_FIRST);// 诊断类型,2为初诊,3为复诊
133 134 this.insert(info);// 新增产检基本信息
134 135 if (StringUtils.isEmpty(assist.getId())) {
135 136 assist.setId(StrUtils.uuid());
136 137  
137 138  
... ... @@ -147,10 +148,52 @@
147 148 diagnoseTaiService.deleteAndInsert(info.getId(), taiList);
148 149 return "success";
149 150 }
  151 +
  152 + @Override
  153 + public String saveLaterExam(DiagnoseInfo info, List<DiagnoseTai> taiList) {
  154 + /*
  155 + * 基础验证
  156 + */
  157 + if (info == null || taiList == null) {
  158 + return "参数缺失";
  159 + }
150 160  
  161 + /*
  162 + * (1)保存产检基本信息 (2)批量保存产检胎儿信息
  163 + * (3)保存诊断信息 TODO
  164 + */
  165 + if (StringUtils.isEmpty(info.getId())) {// 新增
  166 + info.setId(StrUtils.uuid());
  167 + info.setType(DiagnoseInfo.TYPE_SECOND);// 诊断类型,2为初诊,3为复诊
  168 + this.insert(info);// 新增产检基本信息
  169 + } else {// 修改
  170 + this.updateById(info);
  171 + }
  172 + //批量保存产检胎儿信息
  173 + diagnoseTaiService.deleteAndInsert(info.getId(), taiList);
  174 + return "success";
  175 + }
  176 +
  177 +
151 178 @Override
152 179 public List<HighriskConf> getLastHighrisk(Serializable personId) {
153 180 return baseMapper.getLastHighrisk(personId);
154 181 }
  182 +
  183 + @Override
  184 + public List<DiagnoseInfo> getInfoListByWomanId(String womanId) {
  185 + if(StringUtils.isEmpty(womanId)){
  186 + return null;
  187 + }
  188 + EntityWrapper<DiagnoseInfo> ew = new EntityWrapper<DiagnoseInfo>();
  189 + ew.where("WOMAN_ID={0}", womanId);
  190 + return selectList(ew);
  191 + }
  192 +
  193 +
  194 + @Override
  195 + public List<DiagnoseConf> getLastDiagnose(Serializable personId) {
  196 + return baseMapper.getLastDiagnose(personId);
  197 + }
155 198 }
parent/hospital.mac/src/main/java/com/lyms/hospital/service/woman/WomanFetationRecordService.java View file @ 91a052c
... ... @@ -16,12 +16,24 @@
16 16 * 查询-根据孕妇建档ID查询表单详情
17 17 * 查询-查询历史建档记录(by证件信息和就诊卡号)
18 18 * </p>
  19 + * 依据cardNo或vcCardNo查询孕妇信息<br/>
19 20 *
20 21 * @author fangcheng,xujiahong
21 22 * @since 2017-03-31
22 23 */
23 24 public interface WomanFetationRecordService extends BaseService<WomanFetationRecord> {
24 25  
  26 + /**
  27 + * <li>@Description:依据cardNo或vcCardNo查询孕妇信息(顶部top)
  28 + * <li>@param cardNo
  29 + * <li>@param vcCardNo
  30 + * <li>@return
  31 + * <li>创建人:xujiahong
  32 + * <li>创建时间:2017年5月6日
  33 + * <li>修改人:
  34 + * <li>修改时间:
  35 + */
  36 + public Map<String, Object> selectTopFetationInfo(String cardNo, String vcCardNo, String orgId);
25 37  
26 38 /**
27 39 * <li>@Description:条件查询有效的(未被删除的,启用的,未终止妊娠的,未分娩的&其他指定条件)孕妇建档
parent/hospital.mac/src/main/java/com/lyms/hospital/service/woman/impl/WomanFetationRecordServiceImpl.java View file @ 91a052c
1 1 package com.lyms.hospital.service.woman.impl;
2 2  
3 3 import java.io.Serializable;
  4 +import java.util.ArrayList;
4 5 import java.util.Date;
5 6 import java.util.HashMap;
6 7 import java.util.List;
7 8  
... ... @@ -24,7 +25,9 @@
24 25 import com.lyms.hospital.service.woman.WomanFetationRecordService;
25 26 import com.lyms.hospital.service.woman.WomanHusbandService;
26 27 import com.lyms.hospital.service.woman.WomanPersonService;
  28 +import com.lyms.hospital.util.HospitalUtil;
27 29 import com.lyms.util.CollectionUtils;
  30 +import com.lyms.util.DateUtil;
28 31 import com.lyms.util.InstanceUtils;
29 32 import com.lyms.util.StrUtils;
30 33  
... ... @@ -46,6 +49,7 @@
46 49 @Autowired
47 50 private WomanFetationRecordMapper fetationMapper;
48 51  
  52 +
49 53 public Integer deleteLogicById(Serializable id){
50 54 WomanFetationRecord w = selectById(id);
51 55 if(w==null){
... ... @@ -118,8 +122,10 @@
118 122 obj.setSourceId(id);
119 123 }
120 124 obj.setCreateTime(new Date());
121   - obj.setIfdel(IfdelEnum.NO.getStatus());
122   - obj.setEnalble(StatusEnum.ENABLED.getStatus());
  125 + obj.setIfdel(IfdelEnum.NO.getStatus());//未被删除的
  126 + obj.setEnalble(StatusEnum.ENABLED.getStatus());//启用的
  127 + obj.setWomanType(1);//妇女类别:1孕妇,3产妇
  128 + obj.setDueStatus(0);//分娩状态 0未终止妊娠 1终止妊娠
123 129 if (insert(obj)) {
124 130 return id;
125 131 }
... ... @@ -261,5 +267,61 @@
261 267 }
262 268 return dataList;
263 269 }
  270 +
  271 + @Override
  272 + public Map<String, Object> selectTopFetationInfo(String cardNo, String vcCardNo, String orgId) {
  273 +
  274 + // 孕妇档案信息(通过证件号或就诊卡号查询)
  275 + WomanFetationRecord query = new WomanFetationRecord();
  276 + query.setHostpitalId(orgId);// 医院ID
  277 + WomanFetationRecord dbFetationRecord = null;
  278 +
  279 + // 证件号不为空,则通过证件号查询
  280 + if (!StringUtils.isEmpty(cardNo)) {
  281 + query.setBasePapersNumber(cardNo);
  282 + dbFetationRecord = this.queryEffectiveOne(query);
  283 + }
  284 + // 上述查询未执行或没结果,且就诊卡号不为空,则通过就诊卡号查询
  285 + if (dbFetationRecord == null && !StringUtils.isEmpty(vcCardNo)) {
  286 + query.setBasePapersNumber(null);
  287 + query.setContactWomanWay(vcCardNo);
  288 + dbFetationRecord = this.queryEffectiveOne(query);
  289 + }
  290 + // 未查询到孕妇建档信息
  291 + if (dbFetationRecord == null) {
  292 + return null;
  293 + }
  294 +
  295 + // 组装返回对象
  296 + Map<String, Object> dataMap = new HashMap<>();
  297 + dataMap.put("id", dbFetationRecord.getId());
  298 + dataMap.put("pid", dbFetationRecord.getWomanPersonId());
  299 + dataMap.put("name", dbFetationRecord.getBaseWomanName());
  300 + dataMap.put("age", DateUtil.getAge(dbFetationRecord.getBaseWomanBirth()));
  301 + // 根据“纠正末次月经”计算孕周
  302 + dataMap.put("dueWeek", HospitalUtil.getPregnantWeek(dbFetationRecord.getHospitalCorrectLastMenstruation()));
  303 + dataMap.put("yChanQi", dbFetationRecord.getHospitalExpectedDateStr());
  304 + dataMap.put("phone", dbFetationRecord.getContactWomanWay());
  305 + dataMap.put("riskScore", "15");// TODO 高危评分
  306 + dataMap.put("remarks", dbFetationRecord.getHospitalRecordRemark());
  307 + dataMap.put("lastMenses", dbFetationRecord.getHospitalLastMenstruationStr());
  308 + dataMap.put("buildTime", dbFetationRecord.getHospitalRecordDateStr());// 建档日期
  309 + dataMap.put("lastBuildTime", dbFetationRecord.getHospitalRecordDateStr());// TODO
  310 +
  311 + dataMap.put("birth", dbFetationRecord.getBaseWomanBirthStr());
  312 + dataMap.put("tireNumber1", "1");// TODO ?
  313 + dataMap.put("cardNo", dbFetationRecord.getBasePapersNumber());
  314 + dataMap.put("vcCardNo", dbFetationRecord.getHospitalPatientCard());
  315 + dataMap.put("isSieve", "0");// TODO?
  316 + dataMap.put("isH", "0");// TODO?
  317 +
  318 + // 高危因素列表 TODO
  319 + List<Map<String, Object>> riskFactor = new ArrayList<>();
  320 + dataMap.put("riskFactor", riskFactor);//高危因素列表
  321 +
  322 + dataMap.put("now", DateUtil.getyyyy_MM_dd(new Date()));
  323 + dataMap.put("dbFetationRecord", dbFetationRecord);//调用者可以直接访问详情对象,之后可以remove掉,不传递给前端显示
  324 + return dataMap;
  325 + }
264 326 }
parent/hospital.mac/src/main/java/com/lyms/hospital/service/woman/impl/WomanPersonServiceImpl.java View file @ 91a052c
... ... @@ -43,6 +43,13 @@
43 43  
44 44 @Override
45 45 public String insertOrUpdate(WomanFetationRecord womanFetationRecord) {
  46 + if(womanFetationRecord==null){
  47 + return null;
  48 + }
  49 + //如果没有“纠正末次月经”,则设置为与“末次月经”相同
  50 + if(womanFetationRecord.getHospitalCorrectLastMenstruation()==null){
  51 + womanFetationRecord.setHospitalCorrectLastMenstruation(womanFetationRecord.getHospitalLastMenstruation());
  52 + }
46 53 WomanPerson wp = findByCard(womanFetationRecord.getBasePapersType(), womanFetationRecord.getBasePapersNumber());
47 54 if (null == wp) { // 插入
48 55 return insert(womanFetationRecord);
parent/hospital.mac/src/main/java/com/lyms/hospital/util/HospitalUtil.java View file @ 91a052c
  1 +package com.lyms.hospital.util;
  2 +
  3 +import java.util.Date;
  4 +
  5 +import com.lyms.util.DateUtil;
  6 +
  7 +/**
  8 + * 计算孕周<br>
  9 + * a<br>
  10 + *
  11 + * @author xujiahong
  12 + *
  13 + */
  14 +public class HospitalUtil {
  15 +
  16 + /**
  17 + * <li>@Description:
  18 + * <li>@param date 末次月经日期
  19 + * <li>@return
  20 + * <li>创建人:xujiahong
  21 + * <li>创建时间:2017年4月24日
  22 + * <li>修改人:
  23 + * <li>修改时间:
  24 + */
  25 + public static String getPregnantWeek(Date date) {
  26 + Date now = new Date();
  27 + return getPregnantWeek(date, now);
  28 + }
  29 +
  30 + public static String getPregnantWeek(Date date,Date now) {
  31 + if(date==null || now==null){
  32 + return "";
  33 + }
  34 + int days = DateUtil.daysBetween(date, now);//返回两个日期的间隔天数
  35 + if (days < 0) {
  36 + return "";
  37 + }
  38 + if (days >= 294) {
  39 + return "已分娩";
  40 + }
  41 + int week = (days / 7);
  42 + int day = (days % 7);
  43 + return "孕" + week + "周" + (day > 0 ? "+" + day + "天" : "");
  44 + }
  45 +
  46 +}
parent/hospital.mac/src/main/java/com/lyms/hospital/util/UnitConstants.java View file @ 91a052c
  1 +package com.lyms.hospital.util;
  2 +
  3 +/**
  4 + *
  5 + * 单位常量,用以返回值拼接
  6 + *
  7 + * Created by Administrator on 2017/1/11 0011.
  8 + */
  9 +public class UnitConstants {
  10 +
  11 + public static final String CM = " cm";
  12 + public static final String KG = " kg";
  13 + public static final String MMHG = " mmHg";
  14 + public static final String CIFEN = " 次/分";
  15 + public static final String GL = " g/L";
  16 + public static final String MMOLL = " mmol/L";
  17 + public static final String CI = " 次";
  18 + public static final String UL = " U/L";
  19 + public static final String TEN_LKG = "&times;10<sup>9</sup>/L";
  20 +// public static final String TEN_LKG = " 10^9/L";
  21 + public static final String UMOLL = " umol/L";
  22 + public static final String ZHEN = " 针";
  23 + public static final String ML = " ml";
  24 + public static final String G = " g";
  25 + public static final String FEN = " 分";
  26 + public static final String FZ = " 分钟";
  27 + public static final String GE = " 个";
  28 + public static final String SUI = " 岁";
  29 + public static final String REN = " 人";
  30 + public static final String HD = " 时/日";
  31 + public static final String WENDU = " ℃";
  32 + public static final String WSSD = " IU/日";
  33 + public static final String DAY = " 天";
  34 +
  35 + /**
  36 + * 拼接单位
  37 + * @param data
  38 + * @param unit
  39 + * @return
  40 + */
  41 + public static String splice(Object data,String unit){
  42 + if (data==null || "/".equals(data)){
  43 + return null;
  44 + }
  45 + return data.toString() + unit;
  46 + }
  47 +
  48 +
  49 +}
parent/hospital.mac/src/main/java/com/lyms/hospital/util/trans/OldDictionary.java View file @ 91a052c
  1 +package com.lyms.hospital.util.trans;
  2 +
  3 +public class OldDictionary {
  4 +
  5 + private String id;
  6 + private String hildConfigs;
  7 + private String code;
  8 + private String desc;
  9 + private Integer enable;
  10 + private String name;
  11 + private String parentId;
  12 +
  13 + public OldDictionary(){}
  14 +
  15 + public OldDictionary(String id,String name){
  16 + this.id = id;
  17 + this.name = name;
  18 + this.enable = 1;
  19 + }
  20 +
  21 + public String getId() {
  22 + return id;
  23 + }
  24 + public void setId(String id) {
  25 + this.id = id;
  26 + }
  27 + public String getHildConfigs() {
  28 + return hildConfigs;
  29 + }
  30 + public void setHildConfigs(String hildConfigs) {
  31 + this.hildConfigs = hildConfigs;
  32 + }
  33 + public String getCode() {
  34 + return code;
  35 + }
  36 + public void setCode(String code) {
  37 + this.code = code;
  38 + }
  39 + public String getDesc() {
  40 + return desc;
  41 + }
  42 + public void setDesc(String desc) {
  43 + this.desc = desc;
  44 + }
  45 + public Integer getEnable() {
  46 + return enable;
  47 + }
  48 + public void setEnable(Integer enable) {
  49 + this.enable = enable;
  50 + }
  51 + public String getName() {
  52 + return name;
  53 + }
  54 + public void setName(String name) {
  55 + this.name = name;
  56 + }
  57 + public String getParentId() {
  58 + return parentId;
  59 + }
  60 + public void setParentId(String parentId) {
  61 + this.parentId = parentId;
  62 + }
  63 +
  64 +
  65 +}
parent/hospital.mac/src/main/java/com/lyms/hospital/util/trans/XjhMapUtil.java View file @ 91a052c
  1 +package com.lyms.hospital.util.trans;
  2 +
  3 +import java.beans.BeanInfo;
  4 +import java.beans.Introspector;
  5 +import java.beans.PropertyDescriptor;
  6 +import java.lang.reflect.InvocationTargetException;
  7 +import java.lang.reflect.Method;
  8 +import java.util.Date;
  9 +import java.util.HashMap;
  10 +import java.util.HashSet;
  11 +import java.util.Map;
  12 +import java.util.Set;
  13 +
  14 +import com.lyms.hospital.entity.assist.DiagnoseAssit;
  15 +import com.lyms.util.DateUtil;
  16 +
  17 +public class XjhMapUtil {
  18 +
  19 + /**
  20 + * 简单处理映射字段类型不匹配的情况
  21 + * @param property 目标字段Bean相关信息
  22 + * @param value 目标字段值
  23 + * @param obj 对象
  24 + * @author xujiahong
  25 + * @throws InvocationTargetException
  26 + * @throws IllegalArgumentException
  27 + * @throws IllegalAccessException
  28 + */
  29 + private static void invokeIgnoreType(PropertyDescriptor property,Object value,Object obj) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException{
  30 + if(obj==null || property==null){
  31 + return;
  32 + }
  33 + // 得到property对应的setter方法
  34 + Method setter = property.getWriteMethod();
  35 + if(value==null){//null值可匹配任何类型的对象
  36 + setter.invoke(obj, value);
  37 + return;
  38 + }
  39 + Class<?> keyType = property.getPropertyType();
  40 + Class<?> valueType = value.getClass();
  41 + //简单处理映射字段类型不匹配的情况
  42 + if (keyType.equals(valueType)) {
  43 + setter.invoke(obj, value);
  44 + } else {
  45 + if(keyType.equals(String.class)){
  46 + setter.invoke(obj, value.toString());
  47 + }else if(keyType.equals(Integer.class)){
  48 + setter.invoke(obj, Integer.parseInt(value.toString()));
  49 + }else if(keyType.equals(Double.class)){
  50 + setter.invoke(obj, Double.parseDouble(value.toString()));
  51 + }else{
  52 + System.err.println("映射"+obj.getClass().getName()+"对象时发生错误");
  53 + System.err.println("字段【"+property.getName()+"】没有可匹配的自动转换类型");
  54 + }
  55 + }
  56 + }
  57 +
  58 + public static Object transMap2Bean(Map<String, Object> map, Object obj) {
  59 + if(map==null || obj==null){
  60 + return null;
  61 + }
  62 + try {
  63 + BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
  64 + PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
  65 + for (PropertyDescriptor property : propertyDescriptors) {
  66 + String key = property.getName();
  67 + if (map.containsKey(key)) {
  68 + Object value = map.get(key);
  69 + invokeIgnoreType(property,value,obj);
  70 + }
  71 + }
  72 + } catch (Exception e) {
  73 + System.err.println("映射"+obj.getClass().getName()+"对象时发生错误");
  74 + System.err.println("transMap2Bean Error " + e);
  75 + e.printStackTrace();
  76 + }
  77 + return obj;
  78 + }
  79 +
  80 + public static Object transMap2AliasBean(Map<String, Object> map, Object obj, HashMap<String, String> keyMap) {
  81 + if(map==null || obj==null || keyMap==null){
  82 + return null;
  83 + }
  84 + try {
  85 + BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
  86 + PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
  87 + for (PropertyDescriptor property : propertyDescriptors) {
  88 + String field = property.getName();
  89 + if (keyMap.containsKey(field)) {
  90 + Object value = map.get(keyMap.get(field));
  91 + invokeIgnoreType(property,value,obj);
  92 + }
  93 + }
  94 + } catch (Exception e) {
  95 + System.err.println("映射"+obj.getClass().getName()+"对象时发生错误");
  96 + System.err.println("transMap2Bean Error " + e);
  97 + e.printStackTrace();
  98 + }
  99 + return obj;
  100 + }
  101 +
  102 + // 自动处理时间字段和对应的字符串字段(Str结尾)
  103 + public static Object transMap2FormatBean(Map<String, Object> map, Object obj) {
  104 + if(map==null || obj==null){
  105 + return null;
  106 + }
  107 + try {
  108 + BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
  109 + PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
  110 + for (PropertyDescriptor property : propertyDescriptors) {
  111 + String key = property.getName();
  112 + Class<?> keyType = property.getPropertyType();
  113 + // set当前字段
  114 + if (map.containsKey(key)) {
  115 + Object value = map.get(key);
  116 + if(value==null){
  117 + continue;
  118 + }
  119 + invokeIgnoreType(property,value,obj);
  120 +
  121 + /*
  122 + * 自动处理时间字段和对应的字符串字段(Str结尾)
  123 + */
  124 + if (keyType.equals(String.class) && key.length() > 3
  125 + && "Str".equals(key.substring(key.length() - 3))) {// key可能是格式化字段
  126 + String dateKey = key.substring(0,key.length() - 3);
  127 + for (PropertyDescriptor dateProperty : propertyDescriptors) {
  128 + if (dateKey.equals(dateProperty.getName())) {// 找到了对应的日期字段,set之
  129 + String dateValue = value.toString();
  130 + if (dateValue.length() == 10) {// yyyy-MM-dd
  131 + dateProperty.getWriteMethod().invoke(obj, DateUtil.parseYMD(dateValue));
  132 + } else if (dateValue.length() == 19) {// yyyy-MM-dd
  133 + // HH:mm:ss
  134 + dateProperty.getWriteMethod().invoke(obj, DateUtil.parseYMDHMS(dateValue));
  135 + }
  136 + }
  137 + }
  138 + }
  139 + }
  140 +
  141 + }
  142 + } catch (Exception e) {
  143 + System.err.println("映射"+obj.getClass().getName()+"对象时发生错误");
  144 + System.err.println("transMap2FormatBean Error " + e);
  145 + e.printStackTrace();
  146 + }
  147 + return obj;
  148 + }
  149 +
  150 + public static Map<String, Object> transBean2Map(Object obj) {
  151 + if(obj==null){
  152 + return null;
  153 + }
  154 + Map<String, Object> map = new HashMap<>();
  155 + try {
  156 + BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
  157 + PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
  158 + for (PropertyDescriptor property : propertyDescriptors) {
  159 + String key = property.getName();
  160 + // 过滤class属性
  161 + if (!key.equals("class")) {
  162 + // 得到property对应的getter方法
  163 + Method getter = property.getReadMethod();
  164 + Object value = getter.invoke(obj);
  165 + map.put(key, value);
  166 + }
  167 + }
  168 + } catch (Exception e) {
  169 + System.err.println("映射"+obj.getClass().getName()+"对象时发生错误");
  170 + System.err.println("transBean2Map Error " + e);
  171 + e.printStackTrace();
  172 + }
  173 + return map;
  174 + }
  175 +
  176 + public static HashMap<String, String> getKeyMap(String[] original, String[] alias) {
  177 + int length = original.length;
  178 + if (length != alias.length) {
  179 + throw new RuntimeException("映射配置错误");
  180 + }
  181 + HashMap<String, String> map = new HashMap<>();
  182 + for (int i = 0; i < length; i++) {
  183 + map.put(original[i], alias[i]);
  184 + map.put(alias[i], original[i]);
  185 + }
  186 + /*
  187 + * 1--A(正常映射) 4--4(同名映射,允许) 2--C,C--3(错误映射) 错误的keyMap映射的value会有重复
  188 + */
  189 + Set<String> keySet = map.keySet();
  190 + Set<String> valueSet = new HashSet<>();
  191 + for (String key : keySet) {
  192 + valueSet.add(map.get(key));
  193 + }
  194 + if (keySet.size() != valueSet.size()) {
  195 + throw new RuntimeException("映射配置错误");
  196 + }
  197 + return map;
  198 + }
  199 +
  200 + public static Map<String, Object> transBean2AliasMap(Object obj, HashMap<String, String> keyMap) {
  201 + if(keyMap==null || obj==null){
  202 + return null;
  203 + }
  204 + Map<String, Object> map = new HashMap<>();
  205 + try {
  206 + BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
  207 + PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
  208 + for (PropertyDescriptor property : propertyDescriptors) {
  209 + String field = property.getName();
  210 + // 过滤class属性
  211 + if (!field.equals("class")) {
  212 + // 得到property对应的getter方法
  213 + Method getter = property.getReadMethod();
  214 + Object value = getter.invoke(obj);
  215 + if (keyMap.containsKey(field)) {
  216 + map.put(keyMap.get(field), value);
  217 + }
  218 + }
  219 + }
  220 + } catch (Exception e) {
  221 + System.err.println("映射"+obj.getClass().getName()+"对象时发生错误");
  222 + System.err.println("transBean2AliasMap Error " + e);
  223 + e.printStackTrace();
  224 + }
  225 + return map;
  226 + }
  227 +
  228 + public static Map<String, Object> transBean2FormatAliasMap(Object obj, HashMap<String, String> keyMap) {
  229 + if(keyMap==null || obj==null){
  230 + return null;
  231 + }
  232 + Map<String, Object> map = new HashMap<>();
  233 + try {
  234 + BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
  235 + PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
  236 + for (PropertyDescriptor property : propertyDescriptors) {
  237 + String field = property.getName();
  238 + // Class<?> fieldType = property.getPropertyType();
  239 + // 过滤class属性
  240 + if (!field.equals("class")) {
  241 + // 得到property对应的getter方法
  242 + Method getter = property.getReadMethod();
  243 + Object value = getter.invoke(obj);
  244 + if (value instanceof Date) {// 自动格式化日期对象
  245 + Date dateValue = (Date) value;
  246 + String str = DateUtil.getyyyy_MM_dd(dateValue);// getyyyy_MM_dd_hms
  247 + if (keyMap.get(field + "Str") != null) {
  248 + map.put(keyMap.get(field + "Str"), str);
  249 + }
  250 + } else {// 普通字段,别名存储
  251 + if (keyMap.get(field) != null) {
  252 + if (map.get(keyMap.get(field)) == null) {// 如果被以上的格式化代码赋值过,则不再过问
  253 + map.put(keyMap.get(field), value);
  254 + }
  255 + }
  256 + }
  257 + }
  258 + }
  259 + } catch (Exception e) {
  260 + System.err.println("映射"+obj.getClass().getName()+"对象时发生错误");
  261 + System.err.println("transBean2FormatAliasMap Error " + e);
  262 + e.printStackTrace();
  263 + }
  264 + return map;
  265 + }
  266 +
  267 +// public static void mappingAlias(Object original, Object alias, HashMap<String, String> keyMap) {
  268 +// Map<String, Object> aliasMap = transBean2AliasMap(original, keyMap);
  269 +// transMap2Bean(aliasMap, alias);
  270 +// }
  271 +//
  272 +// public static void mappingFormatAlias(Object original, Object alias, HashMap<String, String> keyMap) {
  273 +// Map<String, Object> aliasMap = transBean2FormatAliasMap(original, keyMap);
  274 +// transMap2FormatBean(aliasMap, alias);
  275 +// }
  276 +
  277 + /*
  278 + * 方便书写映射文件keyMap
  279 + */
  280 + private static void printField(Object obj) {
  281 + try {
  282 + BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
  283 + PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
  284 + for (PropertyDescriptor property : propertyDescriptors) {
  285 + String key = property.getName();
  286 + // 过滤class属性
  287 + if (!key.equals("class")) {
  288 + System.out.println("\"" + key + "\",//");// "name",
  289 + }
  290 + }
  291 + } catch (Exception e) {
  292 + e.printStackTrace();
  293 + }
  294 + }
  295 +
  296 + /*
  297 + * 方便书写 json
  298 + */
  299 + private static void printJsonByArray(String[] args) {
  300 + System.out.println("{");
  301 + for (int i = 0; i < args.length; i++) {
  302 + String str = "\"" + args[i] + "\":\"666\"";
  303 + if (i != args.length - 1) {
  304 + str += ",";
  305 + }
  306 + System.out.println(str);
  307 + }
  308 + System.out.println("}");
  309 + }
  310 +
  311 + public static void main(String[] args) {
  312 + printField(new DiagnoseAssit());
  313 +// printJsonByArray(WomanFetationRecordKeymap.alias);
  314 + }
  315 +
  316 +}
parent/hospital.web/src/main/java/com/lyms/hospital/controller/CommonApiController.java View file @ 91a052c
1 1 package com.lyms.hospital.controller;
2 2  
3 3 import java.util.ArrayList;
  4 +import java.util.Date;
4 5 import java.util.HashMap;
5 6 import java.util.List;
6 7 import java.util.Map;
... ... @@ -29,6 +30,7 @@
29 30 * []查询病史配置<br>
30 31 * 查询省市区数据<br>
31 32 * 查询字典数据<br>
  33 + * []获取当前服务器时间<br/>
32 34 *
33 35 * @author xujiahong
34 36 * @since 2017-04-21
... ... @@ -41,6 +43,20 @@
41 43 private RegionsService regionService;
42 44 @Autowired
43 45 private HistorySourceService historySourceService;
  46 +
  47 + /**
  48 + * <li>@Description:获取当前服务器时间
  49 + * <li>@return
  50 + * <li>创建人:xujiahong
  51 + * <li>创建时间:2017年5月8日
  52 + * <li>修改人:
  53 + * <li>修改时间:
  54 + */
  55 + @RequestMapping(value = "/cTime", method = RequestMethod.GET)
  56 + @ResponseBody
  57 + public AjaxResult queryCurrentTime() {
  58 + return AjaxResult.returnSuccess(new Date().getTime());
  59 + }
44 60  
45 61 /**
46 62 * <li>@Description:查询病史配置
parent/hospital.web/src/main/java/com/lyms/hospital/controller/childbirth/ChildbirthController.java View file @ 91a052c
  1 +package com.lyms.hospital.controller.childbirth;
  2 +
  3 +import java.util.ArrayList;
  4 +import java.util.HashMap;
  5 +import java.util.List;
  6 +import java.util.Map;
  7 +
  8 +import org.springframework.beans.factory.annotation.Autowired;
  9 +import org.springframework.stereotype.Controller;
  10 +import org.springframework.util.StringUtils;
  11 +import org.springframework.web.bind.annotation.RequestMapping;
  12 +import org.springframework.web.bind.annotation.RequestMethod;
  13 +import org.springframework.web.bind.annotation.ResponseBody;
  14 +
  15 +import com.lyms.base.common.entity.user.Users;
  16 +import com.lyms.base.common.service.organ.OrganizationsService;
  17 +import com.lyms.hospital.entity.childbirth.ChildbirthInfo;
  18 +import com.lyms.hospital.entity.woman.WomanFetationRecord;
  19 +import com.lyms.hospital.request.exam.ChildbirthAddRequest;
  20 +import com.lyms.hospital.service.childbirth.ChildbirthInfoService;
  21 +import com.lyms.hospital.service.woman.WomanFetationRecordService;
  22 +import com.lyms.shiro.ShiroWebUtils;
  23 +import com.lyms.util.DateUtil;
  24 +import com.lyms.web.bean.AjaxResult;
  25 +import com.lyms.web.controller.BaseController;
  26 +
  27 +/**
  28 + * <p>
  29 + * 分娩-前端控制器
  30 + * </p>
  31 + * 保存分娩记录<br/>
  32 + * []依据cardNo或vcCardNo查询孕妇分娩记录<br/>
  33 + *
  34 + * @author xujiahong
  35 + * @since 2017-03-31
  36 + */
  37 +@Controller
  38 +@RequestMapping("/childbirth")
  39 +public class ChildbirthController extends BaseController {
  40 +
  41 + @Autowired
  42 + private WomanFetationRecordService fetationService;
  43 + @Autowired
  44 + private ChildbirthInfoService birthService;
  45 + @Autowired
  46 + private OrganizationsService orgService;
  47 +
  48 + /**
  49 + * <li>@Description:保存分娩记录
  50 + * <li>@param cardNo
  51 + * <li>@param vcCardNo
  52 + * <li>@return
  53 + * <li>创建人:xujiahong
  54 + * <li>创建时间:2017年5月8日
  55 + * <li>修改人:
  56 + * <li>修改时间:
  57 + */
  58 + @RequestMapping(value = "/matdel", method = RequestMethod.POST)
  59 + @ResponseBody
  60 + public AjaxResult saveChildbirthVo(ChildbirthAddRequest request) {
  61 + return AjaxResult.returnFail();
  62 + }
  63 +
  64 + /**
  65 + * <li>@Description:依据cardNo或vcCardNo查询孕妇分娩记录
  66 + * <li>@param cardNo
  67 + * <li>@param vcCardNo
  68 + * <li>@return
  69 + * <li>创建人:xujiahong
  70 + * <li>创建时间:2017年5月8日
  71 + * <li>修改人:
  72 + * <li>修改时间:
  73 + */
  74 + @RequestMapping(value = "/matmanger", method = RequestMethod.GET)
  75 + @ResponseBody
  76 + public AjaxResult selectChildbirthHistory(String cardNo, String vcCardNo) {
  77 + // 基本验证
  78 + Users users = ShiroWebUtils.getCurrentUser();
  79 + String orgId = users.getOrgId();
  80 + if (StringUtils.isEmpty(orgId)) {
  81 + return AjaxResult.returnFail("入参错误:医院ID为空");
  82 + }
  83 + if (StringUtils.isEmpty(cardNo) && StringUtils.isEmpty(vcCardNo)) {
  84 + return AjaxResult.returnFail("入参错误:查询条件为空");
  85 + }
  86 + // 组装返回对象-查询孕妇建档信息
  87 + Map<String, Object> dataMap = fetationService.selectTopFetationInfo(cardNo, vcCardNo, orgId);
  88 + // 未查询到孕妇建档信息
  89 + if (dataMap == null) {
  90 + return AjaxResult.returnSuccess(null);// 将基本的对象返回空
  91 + }
  92 + WomanFetationRecord dbFetationRecord = (WomanFetationRecord)dataMap.get("dbFetationRecord");
  93 +
  94 + //TODO 满固定孕周才可以分娩
  95 +
  96 + // 分娩记录列表
  97 + List<Map<String, Object>> data = new ArrayList<>(); // data 系前端指定名称
  98 + List<ChildbirthInfo> birthList = birthService.selectListByWomanId(dbFetationRecord.getId());
  99 + if(birthList!=null && !birthList.isEmpty()){
  100 + for(ChildbirthInfo info : birthList){
  101 + Map<String, Object> map = new HashMap<>();
  102 + map.put("hospitalName", orgService.getNameById(info.getOrgId()));
  103 + map.put("hospitalId", info.getOrgId());
  104 + map.put("id", info.getId());
  105 + map.put("checkTime", DateUtil.getyyyy_MM_dd(info.getChildbirthTime()));
  106 + map.put("enableEdit", 1);
  107 + data.add(map);
  108 + }
  109 + }
  110 +
  111 + dataMap.put("data", data);//分娩记录列表
  112 + dataMap.remove("dbFetationRecord");
  113 + return AjaxResult.returnSuccess(dataMap);
  114 + }
  115 +
  116 +
  117 +
  118 +
  119 +}
parent/hospital.web/src/main/java/com/lyms/hospital/controller/childbirth/ChildbirthInfoController.java View file @ 91a052c
1   -package com.lyms.hospital.controller.childbirth;
2   -
3   -import org.springframework.stereotype.Controller;
4   -import org.springframework.web.bind.annotation.RequestMapping;
5   -import com.lyms.web.controller.BaseController;
6   -
7   -/**
8   - * <p>
9   - * 前端控制器
10   - * </p>
11   - *
12   - * @author xujiahong
13   - * @since 2017-03-31
14   - */
15   -@Controller
16   -@RequestMapping("/childbirthInfo")
17   -public class ChildbirthInfoController extends BaseController {
18   -
19   -}
parent/hospital.web/src/main/java/com/lyms/hospital/controller/childbirth/ChildbirthNewbornController.java View file @ 91a052c
1   -package com.lyms.hospital.controller.childbirth;
2   -
3   -import org.springframework.stereotype.Controller;
4   -import org.springframework.web.bind.annotation.RequestMapping;
5   -import com.lyms.web.controller.BaseController;
6   -
7   -/**
8   - * <p>
9   - * 前端控制器
10   - * </p>
11   - *
12   - * @author xujiahong
13   - * @since 2017-03-31
14   - */
15   -@Controller
16   -@RequestMapping("/childbirthNewborn")
17   -public class ChildbirthNewbornController extends BaseController {
18   -
19   -}
parent/hospital.web/src/main/java/com/lyms/hospital/controller/childbirth/ChildbirthTaiController.java View file @ 91a052c
1   -package com.lyms.hospital.controller.childbirth;
2   -
3   -import org.springframework.stereotype.Controller;
4   -import org.springframework.web.bind.annotation.RequestMapping;
5   -import com.lyms.web.controller.BaseController;
6   -
7   -/**
8   - * <p>
9   - * 前端控制器
10   - * </p>
11   - *
12   - * @author xujiahong
13   - * @since 2017-03-31
14   - */
15   -@Controller
16   -@RequestMapping("/childbirthTai")
17   -public class ChildbirthTaiController extends BaseController {
18   -
19   -}
parent/hospital.web/src/main/java/com/lyms/hospital/controller/childbirth/ChildbirthTaipanController.java View file @ 91a052c
1   -package com.lyms.hospital.controller.childbirth;
2   -
3   -import org.springframework.stereotype.Controller;
4   -import org.springframework.web.bind.annotation.RequestMapping;
5   -import com.lyms.web.controller.BaseController;
6   -
7   -/**
8   - * <p>
9   - * 前端控制器
10   - * </p>
11   - *
12   - * @author xujiahong
13   - * @since 2017-03-31
14   - */
15   -@Controller
16   -@RequestMapping("/childbirthTaipan")
17   -public class ChildbirthTaipanController extends BaseController {
18   -
19   -}
parent/hospital.web/src/main/java/com/lyms/hospital/controller/woman/WomanExamController.java View file @ 91a052c
... ... @@ -6,6 +6,7 @@
6 6 import java.util.List;
7 7 import java.util.Map;
8 8  
  9 +import org.apache.commons.collections.CollectionUtils;
9 10 import org.springframework.beans.factory.annotation.Autowired;
10 11 import org.springframework.stereotype.Controller;
11 12 import org.springframework.util.StringUtils;
... ... @@ -14,6 +15,10 @@
14 15 import org.springframework.web.bind.annotation.RequestMethod;
15 16 import org.springframework.web.bind.annotation.ResponseBody;
16 17  
  18 +import com.lyms.base.common.entity.organ.Organizations;
  19 +import com.lyms.base.common.entity.user.Users;
  20 +import com.lyms.base.common.service.organ.OrganizationsService;
  21 +import com.lyms.base.common.service.user.UsersService;
17 22 import com.lyms.hospital.entity.assist.DiagnoseAssit;
18 23 import com.lyms.hospital.entity.diagnose.DiagnoseInfo;
19 24 import com.lyms.hospital.entity.diagnose.DiagnoseTai;
20 25  
... ... @@ -30,9 +35,11 @@
30 35 import com.lyms.hospital.service.diagnose.DiagnoseInfoService;
31 36 import com.lyms.hospital.service.diagnose.DiagnoseTaiService;
32 37 import com.lyms.hospital.service.history.HistoryMapsService;
33   -import com.lyms.hospital.service.token.TokenService;
34 38 import com.lyms.hospital.service.woman.WomanFetationRecordService;
35 39 import com.lyms.hospital.util.HospitalUtil;
  40 +import com.lyms.hospital.util.UnitConstants;
  41 +import com.lyms.hospital.util.trans.XjhMapUtil;
  42 +import com.lyms.shiro.ShiroWebUtils;
36 43 import com.lyms.util.DateUtil;
37 44 import com.lyms.web.bean.AjaxResult;
38 45 import com.lyms.web.controller.BaseController;
39 46  
... ... @@ -42,9 +49,10 @@
42 49 *
43 50 * [--]依据cardNo或vcCardNo查询孕妇产检记录 <br>
44 51 * [--]保存初诊数据 <br>
45   - * 保存复诊数据 <br>
46   - * 查询某条记录的详细信息,用于表单填写<br>
  52 + * [--]保存复诊数据 <br>
  53 + * [--]查询某条记录的详细信息,用于表单填写<br>
47 54 * [--]产检获取字典数据<br>
  55 + * [--]初诊查看页面数据<br>
48 56 *
49 57 * @author xujiahong
50 58 *
51 59  
... ... @@ -64,9 +72,148 @@
64 72 @Autowired
65 73 private HistoryMapsService historyMapsService;
66 74 @Autowired
67   - private TokenService tokenService;
68   -
  75 + private UsersService usersService;
  76 + @Autowired
  77 + private OrganizationsService orgService;
  78 +
69 79 /**
  80 + * <li>@Description:初诊查看页面数据
  81 + * <li>@param id
  82 + * <li>@param type
  83 + * <li>@return
  84 + * <li>创建人:xujiahong
  85 + * <li>创建时间:2017年5月6日
  86 + * <li>修改人:
  87 + * <li>修改时间:
  88 + */
  89 + @RequestMapping(value = "/findAntExChuData", method = RequestMethod.GET)
  90 + @ResponseBody
  91 + public AjaxResult selectFirstExamData(String id) {
  92 + /*
  93 + * 产检基础信息、产检辅助信息、病史列表、胎儿列表、诊断列表 TODO
  94 + */
  95 + DiagnoseInfo info = infoService.selectById(id);// 产检基础信息
  96 + if (info == null) {
  97 + return AjaxResult.returnSuccess();
  98 + }
  99 + DiagnoseAssit assist = assistService.getDetailByDiagnoseInfo(info.getId(), DiagnoseAssit.DIAGNOSE_TYPE_BIRTH);// 诊断类型:1婚前检查,【2产检】,3儿保检查
  100 + List<HistoryMaps> historyMapsList = historyMapsService.getListByTarget(info.getId(),
  101 + HistoryMaps.TARGET_TYPE_EXAM);// 关联目标类型:1产检、2妇女建档
  102 + List<DiagnoseTai> diagnoseTaiList = diagnoseTaiService.getListByExamId(info.getId());
  103 + ExamAddRequestWrapper wrapper = new ExamAddRequestWrapper(info, assist, historyMapsList, diagnoseTaiList);
  104 + // 查询孕妇基本信息
  105 + WomanFetationRecord womanFetation = fetationService.selectById(info.getWomanId());
  106 +
  107 + ExamAddRequest result = wrapper.getExamAddRequest();
  108 + Map<String, Object> map = XjhMapUtil.transBean2Map(result);// 返回数据
  109 +
  110 + // 孕妇基本信息
  111 + map.put("id", womanFetation.getId());
  112 + map.put("username", womanFetation.getBaseWomanName());
  113 + map.put("birth", DateUtil.getyyyy_MM_dd(womanFetation.getBaseWomanBirth()));
  114 + map.put("age", UnitConstants.splice(DateUtil.getAge(womanFetation.getBaseWomanBirth()), UnitConstants.SUI));
  115 + map.put("phone", womanFetation.getContactWomanWay());
  116 +
  117 + // 基本信息孕周
  118 + // map.put("fmWeek", patients.getPhone());之前老接口返回的电话号码。。。看字段是 分娩孕周
  119 + map.put("dueDate", DateUtil.getyyyy_MM_dd(womanFetation.getHospitalExpectedDate()));// 预产期
  120 + map.put("mremark", womanFetation.getHospitalRecordRemark());
  121 +
  122 + // 产检孕周
  123 + map.put("cDueWeek", HospitalUtil.getPregnantWeek(womanFetation.getHospitalCorrectLastMenstruation(),
  124 + info.getDiagnoseTime()));
  125 + // 产检医生
  126 + Users users = usersService.selectById(info.getDoctorId());
  127 + if (users != null) {
  128 + map.put("checkDoctor", users.getName());
  129 + }
  130 + // 产检医院
  131 + Organizations org = orgService.selectById(info.getOrgId());
  132 + if (org != null) {
  133 + map.put("hospital", org.getName());
  134 + }
  135 +
  136 + // 下次检查时间
  137 + map.put("nextCheckTime", DateUtil.getyyyy_MM_dd(info.getNextinspectTime()));
  138 + // 下次检查孕周
  139 + map.put("nextCheckWeek", HospitalUtil.getPregnantWeek(womanFetation.getHospitalCorrectLastMenstruation(),
  140 + info.getNextinspectTime()));
  141 + // 孕产史
  142 + map.put("pregnancyTimes", UnitConstants.splice(result.getPregnancyTimes(), UnitConstants.CI));
  143 + map.put("prodTime", UnitConstants.splice(result.getProdTime(), UnitConstants.CI));
  144 + map.put("delivery", UnitConstants.splice(result.getDelivery(), UnitConstants.CI));
  145 + map.put("planedProd", UnitConstants.splice(result.getPlanedProd(), UnitConstants.CI));
  146 + // 流产
  147 + String abortion = "";
  148 + abortion = UnitConstants.splice(result.getAbortion(), UnitConstants.CI) == null ? ""
  149 + : UnitConstants.splice(result.getAbortion(), UnitConstants.CI);
  150 + if (result.getAbortionZR() != null && result.getAbortionRG() != null) {
  151 + abortion += "(自然:" + result.getAbortionZR() + UnitConstants.CI + " 人工:" + result.getAbortionRG()
  152 + + UnitConstants.CI + ")";
  153 + }
  154 + map.put("abortion", abortion);
  155 + map.put("stillbirth", UnitConstants.splice(result.getStillbirth(), UnitConstants.CI));
  156 + map.put("stillChan", UnitConstants.splice(result.getStillChan(), UnitConstants.CI));
  157 + map.put("neoDeath", UnitConstants.splice(result.getNeoDeath(), UnitConstants.CI));
  158 + map.put("birthDefect", UnitConstants.splice(result.getBirthDefect(), UnitConstants.CI));
  159 +
  160 + map.put("height", UnitConstants.splice(result.getHeight(), UnitConstants.CM));
  161 + map.put("weight", UnitConstants.splice(result.getWeight(), UnitConstants.KG));
  162 + map.put("yqWeight", UnitConstants.splice(result.getYqWeight(), UnitConstants.KG));
  163 + // 血压
  164 + String ssy = info.getBloodShrink() == null ? "" : info.getBloodShrink() + "";
  165 + String szy = info.getBloodDiastole() == null ? "" : info.getBloodDiastole() + "";
  166 + map.put("bp", UnitConstants.splice(ssy + "/" + szy, UnitConstants.MMHG));
  167 +
  168 + map.put("gonggao", UnitConstants.splice(result.getGonggao(), UnitConstants.CM));
  169 + map.put("fuwei", UnitConstants.splice(result.getFuwei(), UnitConstants.CM));
  170 +
  171 + // 胎儿情况
  172 +
  173 +
  174 + /* 辅助检查 */
  175 + map.put("xhdb",UnitConstants.splice(result.getXhdb(),UnitConstants.GL));
  176 + map.put("bxbjs",UnitConstants.splice(result.getBxbjs(),UnitConstants.TEN_LKG));
  177 + map.put("platelet",UnitConstants.splice(result.getPlatelet(),UnitConstants.TEN_LKG));
  178 +
  179 + map.put("bloodSugar",UnitConstants.splice(result.getBloodSugar(),UnitConstants.MMOLL));
  180 + map.put("xqgbzam",UnitConstants.splice(result.getXqgbzam(), UnitConstants.UL));
  181 + map.put("xqgczam",UnitConstants.splice(result.getXqgczam(), UnitConstants.UL));
  182 + map.put("albumin",UnitConstants.splice(result.getAlbumin(), UnitConstants.GL));
  183 + map.put("totalBilirubin",UnitConstants.splice(result.getTotalBilirubin(), UnitConstants.UMOLL));
  184 + map.put("jhBilirubin",UnitConstants.splice(result.getJhBilirubin(), UnitConstants.UMOLL));
  185 +
  186 + map.put("xqjq",UnitConstants.splice(result.getXqjq(), UnitConstants.UL));
  187 + map.put("xnsd",UnitConstants.splice(result.getXnsd(), UnitConstants.UL));
  188 +
  189 + return AjaxResult.returnSuccess(map);
  190 + }
  191 +
  192 + /**
  193 + * <li>@Description:保存复诊数据
  194 + * <li>@param request
  195 + * <li>@return
  196 + * <li>创建人:xujiahong
  197 + * <li>创建时间:2017年5月5日
  198 + * <li>修改人:
  199 + * <li>修改时间:
  200 + */
  201 + @RequestMapping(value = "/antexmanage", method = RequestMethod.POST)
  202 + @ResponseBody
  203 + public AjaxResult saveLaterExam(@RequestBody ExamAddRequest request) {
  204 + /*
  205 + * (1)保存产检基本信息 (2)多个胎儿信息(3) 多个诊断信息 TODO
  206 + */
  207 + // 对象转换
  208 + ExamAddRequestWrapper wrapper = new ExamAddRequestWrapper(request);
  209 + DiagnoseInfo info = wrapper.getDiagnoseInfo();
  210 + List<DiagnoseTai> taiList = wrapper.getDiagnoseTaiList(); // 胎儿信息
  211 + // 保存初诊信息
  212 + String result = infoService.saveLaterExam(info, taiList);
  213 + return "success".equals(result) ? AjaxResult.returnSuccess() : AjaxResult.returnFail(result);
  214 + }
  215 +
  216 + /**
70 217 * <li>@Description:产检获取字典数据
71 218 * <li>@return
72 219 * <li>创建人:xujiahong
73 220  
74 221  
75 222  
76 223  
77 224  
78 225  
79 226  
80 227  
81 228  
82 229  
83 230  
84 231  
85 232  
86 233  
87 234  
88 235  
89 236  
90 237  
91 238  
92 239  
... ... @@ -78,130 +225,153 @@
78 225 @RequestMapping(value = "/antex/getenums", method = RequestMethod.GET)
79 226 @ResponseBody
80 227 public AjaxResult getDictionary() {
81   - Map<String,Object> data = new HashMap<>();
82   - //枚举常量=======================================
83   - //getFetal 胎先露
  228 + Map<String, Object> data = new HashMap<>();
  229 + // 枚举常量=======================================
  230 + // getFetal 胎先露
84 231 data.put("getFetal", FetalEnums.getList());
85   - //getJoin 衔接
  232 + // getJoin 衔接
86 233 data.put("getJoin", JoinEnums.getList());
87   - //fuzhong ?
  234 + // fuzhong ?
88 235 data.put("fuzhong", FuZhongEnums.getList());
89   - //getTaiPan 胎盘个数
  236 + // getTaiPan 胎盘个数
90 237 data.put("getTaiPan", TaiShuEnums.TaiPanEnums.getList());
91   - //getTaiShu 胎数
  238 + // getTaiShu 胎数
92 239 data.put("getTaiShu", TaiShuEnums.getList());
93   - //getFetPosition
  240 + // getFetPosition
94 241 data.put("getFetPosition", FetalPositionEnums.getList());
95   - //字典常量=======================================
96   - //xx 血型-模拟数据 TODO
97   - List<Map<String,Object>> xx = new ArrayList<>();
98   - Map<String,Object> xx_map1 = new HashMap<String,Object>(){{
99   - put("id", "xxa");
100   - put("parentId", "5769eef90cf22c315757741f");
101   - put("name", "A");
102   - }};
  242 + // 字典常量=======================================
  243 + // xx 血型-模拟数据 TODO
  244 + List<Map<String, Object>> xx = new ArrayList<>();
  245 + Map<String, Object> xx_map1 = new HashMap<String, Object>() {
  246 + {
  247 + put("id", "xxa");
  248 + put("parentId", "5769eef90cf22c315757741f");
  249 + put("name", "A");
  250 + }
  251 + };
103 252 xx.add(xx_map1);
104   - Map<String,Object> xx_map2 = new HashMap<String,Object>(){{
105   - put("id", "xxb");
106   - put("parentId", "5769eef90cf22c315757741f");
107   - put("name", "B");
108   - }};
  253 + Map<String, Object> xx_map2 = new HashMap<String, Object>() {
  254 + {
  255 + put("id", "xxb");
  256 + put("parentId", "5769eef90cf22c315757741f");
  257 + put("name", "B");
  258 + }
  259 + };
109 260 xx.add(xx_map2);
110 261 data.put("xx", xx);
111   -
112   - //getHighRisk 高危标签-模拟数据 TODO
113   - List<Map<String,Object>> getHighRisk = new ArrayList<>();
114   - Map<String,Object> getHighRisk_map1 = new HashMap<String,Object>(){{
115   - put("id", "meidu");
116   - put("parentId", "224b2329-cb82-4da3-a071-8527f8283aab");
117   - put("code", "10");
118   - put("name", "梅毒");
119   - put("typeId","fb43fd5a-b153-4cb9-9180-c46f5612ba43");
120   - put("color","risk_purple");
121   - put("yn","1");
122   - }};
  262 +
  263 + // getHighRisk 高危标签-模拟数据 TODO
  264 + List<Map<String, Object>> getHighRisk = new ArrayList<>();
  265 + Map<String, Object> getHighRisk_map1 = new HashMap<String, Object>() {
  266 + {
  267 + put("id", "meidu");
  268 + put("parentId", "224b2329-cb82-4da3-a071-8527f8283aab");
  269 + put("code", "10");
  270 + put("name", "梅毒");
  271 + put("typeId", "fb43fd5a-b153-4cb9-9180-c46f5612ba43");
  272 + put("color", "risk_purple");
  273 + put("yn", "1");
  274 + }
  275 + };
123 276 getHighRisk.add(getHighRisk_map1);
124   - Map<String,Object> getHighRisk_map2 = new HashMap<String,Object>(){{
125   - put("id", "hiv");
126   - put("parentId", "224b2329-cb82-4da3-a071-8527f8283aab");
127   - put("code", "10");
128   - put("name", "HIV");
129   - put("typeId","fb43fd5a-b153-4cb9-9180-c46f5612ba43");
130   - put("color","risk_purple");
131   - put("yn","1");
132   - }};
  277 + Map<String, Object> getHighRisk_map2 = new HashMap<String, Object>() {
  278 + {
  279 + put("id", "hiv");
  280 + put("parentId", "224b2329-cb82-4da3-a071-8527f8283aab");
  281 + put("code", "10");
  282 + put("name", "HIV");
  283 + put("typeId", "fb43fd5a-b153-4cb9-9180-c46f5612ba43");
  284 + put("color", "risk_purple");
  285 + put("yn", "1");
  286 + }
  287 + };
133 288 getHighRisk.add(getHighRisk_map2);
134 289 data.put("getHighRisk", getHighRisk);
135   -
136   - //gwfz 高危分值(高危等级-->评分)-模拟数据 TODO
137   - List<Map<String,Object>> gwfz = new ArrayList<>();
138   - Map<String,Object> gwfz_map1 = new HashMap<String,Object>(){{
139   - put("id", "5769f0640cf2d37f034793a2");
140   - put("parentId", "5769eef90cf22c3157577422");
141   - put("name", "5");
142   - }};
  290 +
  291 + // gwfz 高危分值(高危等级-->评分)-模拟数据 TODO
  292 + List<Map<String, Object>> gwfz = new ArrayList<>();
  293 + Map<String, Object> gwfz_map1 = new HashMap<String, Object>() {
  294 + {
  295 + put("id", "5769f0640cf2d37f034793a2");
  296 + put("parentId", "5769eef90cf22c3157577422");
  297 + put("name", "5");
  298 + }
  299 + };
143 300 gwfz.add(gwfz_map1);
144   - Map<String,Object> gwfz_map2 = new HashMap<String,Object>(){{
145   - put("id", "5769f0640cf2d37f034793a3");
146   - put("parentId", "5769eef90cf22c3157577422");
147   - put("name", "10");
148   - }};
  301 + Map<String, Object> gwfz_map2 = new HashMap<String, Object>() {
  302 + {
  303 + put("id", "5769f0640cf2d37f034793a3");
  304 + put("parentId", "5769eef90cf22c3157577422");
  305 + put("name", "10");
  306 + }
  307 + };
149 308 gwfz.add(gwfz_map2);
150 309 data.put("gwfz", gwfz);
151   -
152   - //ydqjd 阴道清洁度-模拟数据 TODO
153   - List<Map<String,Object>> ydqjd = new ArrayList<>();
154   - Map<String,Object> ydqjd_map1 = new HashMap<String,Object>(){{
155   - put("id", "5769ef930cf2d37f03479387");
156   - put("parentId", "5769eef90cf22c3157577420");
157   - put("name", "Ⅰ度");
158   - }};
  310 +
  311 + // ydqjd 阴道清洁度-模拟数据 TODO
  312 + List<Map<String, Object>> ydqjd = new ArrayList<>();
  313 + Map<String, Object> ydqjd_map1 = new HashMap<String, Object>() {
  314 + {
  315 + put("id", "5769ef930cf2d37f03479387");
  316 + put("parentId", "5769eef90cf22c3157577420");
  317 + put("name", "Ⅰ度");
  318 + }
  319 + };
159 320 ydqjd.add(ydqjd_map1);
160   - Map<String,Object> ydqjd_map2 = new HashMap<String,Object>(){{
161   - put("id", "5769ef930cf2d37f03479390");
162   - put("parentId", "5769eef90cf22c3157577420");
163   - put("name", "Ⅱ度");
164   - }};
  321 + Map<String, Object> ydqjd_map2 = new HashMap<String, Object>() {
  322 + {
  323 + put("id", "5769ef930cf2d37f03479390");
  324 + put("parentId", "5769eef90cf22c3157577420");
  325 + put("name", "Ⅱ度");
  326 + }
  327 + };
165 328 ydqjd.add(ydqjd_map2);
166 329 data.put("ydqjd", ydqjd);
167   -
168   - //organizations 组织机构-模拟数据 TODO
169   - List<Map<String,Object>> organizations = new ArrayList<>();
170   - Map<String,Object> organizations_map1 = new HashMap<String,Object>(){{
171   - put("id", "193");
172   - put("name", "青龙妇幼保健院");
173   - }};
  330 +
  331 + // organizations 组织机构-模拟数据 TODO
  332 + List<Map<String, Object>> organizations = new ArrayList<>();
  333 + Map<String, Object> organizations_map1 = new HashMap<String, Object>() {
  334 + {
  335 + put("id", "193");
  336 + put("name", "青龙妇幼保健院");
  337 + }
  338 + };
174 339 organizations.add(organizations_map1);
175   - Map<String,Object> organizations_map2 = new HashMap<String,Object>(){{
176   - put("id", "195");
177   - put("name", "昌黎妇幼保健院");
178   - }};
  340 + Map<String, Object> organizations_map2 = new HashMap<String, Object>() {
  341 + {
  342 + put("id", "195");
  343 + put("name", "昌黎妇幼保健院");
  344 + }
  345 + };
179 346 organizations.add(organizations_map2);
180 347 data.put("organizations", organizations);
181   -
182   - //fxys 风险颜色-模拟数据 TODO
183   - List<Map<String,Object>> fxys = new ArrayList<>();
184   - Map<String,Object> fxys_map1 = new HashMap<String,Object>(){{
185   - put("id", "zsyj");
186   - put("parentId", "fb43fd5a-b153-4cb9-9180-c46f5612ba43");
187   - put("name", "紫色预警");
188   - }};
  348 +
  349 + // fxys 风险颜色-模拟数据 TODO
  350 + List<Map<String, Object>> fxys = new ArrayList<>();
  351 + Map<String, Object> fxys_map1 = new HashMap<String, Object>() {
  352 + {
  353 + put("id", "zsyj");
  354 + put("parentId", "fb43fd5a-b153-4cb9-9180-c46f5612ba43");
  355 + put("name", "紫色预警");
  356 + }
  357 + };
189 358 fxys.add(fxys_map1);
190   - Map<String,Object> fxys_map2 = new HashMap<String,Object>(){{
191   - put("id", "csyj");
192   - put("parentId", "fb43fd5a-b153-4cb9-9180-c46f5612ba43");
193   - put("name", "橙色预警");
194   - }};
  359 + Map<String, Object> fxys_map2 = new HashMap<String, Object>() {
  360 + {
  361 + put("id", "csyj");
  362 + put("parentId", "fb43fd5a-b153-4cb9-9180-c46f5612ba43");
  363 + put("name", "橙色预警");
  364 + }
  365 + };
195 366 fxys.add(fxys_map2);
196 367 data.put("fxys", fxys);
197   -
198   - //cTime
  368 +
  369 + // cTime
199 370 data.put("cTime", DateUtil.getyyyy_MM_dd(new Date()));
200   - //now
  371 + // now
201 372 data.put("now", DateUtil.getyyyy_MM_dd(new Date()));
202 373 return AjaxResult.returnSuccess(data);
203 374 }
204   -
205 375  
206 376 /**
207 377 * <li>@Description:查询某条记录的详细信息,用于表单填写
... ... @@ -224,11 +394,11 @@
224 394 return AjaxResult.returnSuccess();
225 395 }
226 396 DiagnoseAssit assist = assistService.getDetailByDiagnoseInfo(info.getId(), DiagnoseAssit.DIAGNOSE_TYPE_BIRTH);// 诊断类型:1婚前检查,【2产检】,3儿保检查
227   - List<HistoryMaps> historyList = historyMapsService.getListByTarget(info.getId(), HistoryMaps.TARGET_TYPE_EXAM);// 关联目标类型:1产检、2妇女建档
228   - List<DiagnoseTai> taiList = diagnoseTaiService.getListByExamId(info.getId());
229   -
230   -
231   - return AjaxResult.returnFail();
  397 + List<HistoryMaps> historyMapsList = historyMapsService.getListByTarget(info.getId(),
  398 + HistoryMaps.TARGET_TYPE_EXAM);// 关联目标类型:1产检、2妇女建档
  399 + List<DiagnoseTai> diagnoseTaiList = diagnoseTaiService.getListByExamId(info.getId());
  400 + ExamAddRequestWrapper wrapper = new ExamAddRequestWrapper(info, assist, historyMapsList, diagnoseTaiList);
  401 + return AjaxResult.returnSuccess(wrapper.getExamAddRequest());
232 402 }
233 403  
234 404 /**
... ... @@ -246,7 +416,7 @@
246 416 /*
247 417 * 同一产程不能新增两次初诊:(如果条件是新增,根据孕妇档案ID WOMAN_ID 查询产检记录列表) TODO
248 418 */
249   - //
  419 +
250 420 /*
251 421 * (1)保存产检基本信息 (2)保存辅助检查信息 (3)批量保存病史信息(4)多个胎儿信息(5) 多个诊断信息 TODO
252 422 */
253 423  
254 424  
255 425  
256 426  
... ... @@ -279,63 +449,53 @@
279 449 *
280 450 */
281 451 // 基本验证
282   - String orgId = "1";// orgId或来自token
283   -// if (StringUtils.isEmpty(orgId)) {
284   -// return AjaxResult.returnFail("入参错误:医院ID为空");
285   -// }
  452 + Users users = ShiroWebUtils.getCurrentUser();
  453 + String orgId = users.getOrgId();
  454 + if (StringUtils.isEmpty(orgId)) {
  455 + return AjaxResult.returnFail("入参错误:医院ID为空");
  456 + }
286 457 if (StringUtils.isEmpty(cardNo) && StringUtils.isEmpty(vcCardNo)) {
287 458 return AjaxResult.returnFail("入参错误:查询条件为空");
288 459 }
289   - // (1)孕妇档案信息(通过证件号或就诊卡号查询)
290   - WomanFetationRecord query = new WomanFetationRecord();
291   - query.setHostpitalId(orgId);// 医院ID
292   - WomanFetationRecord dbFetationRecord = null;
293   -
294   - // 证件号不为空,则通过证件号查询
295   - if (!StringUtils.isEmpty(cardNo)) {
296   - query.setBasePapersNumber(cardNo);
297   - dbFetationRecord = fetationService.queryEffectiveOne(query);
298   - }
299   - // 上述查询未执行或没结果,且就诊卡号不为空,则通过就诊卡号查询
300   - if (dbFetationRecord == null && !StringUtils.isEmpty(vcCardNo)) {
301   - query.setBasePapersNumber(null);
302   - query.setContactWomanWay(vcCardNo);
303   - dbFetationRecord = fetationService.queryEffectiveOne(query);
304   - }
  460 + // 组装返回对象-查询孕妇建档信息
  461 + Map<String, Object> dataMap = fetationService.selectTopFetationInfo(cardNo, vcCardNo, orgId);
305 462 // 未查询到孕妇建档信息
306   - if (dbFetationRecord == null) {
307   - return AjaxResult.returnSuccess(null);//将基本的对象返回空
  463 + if (dataMap == null) {
  464 + return AjaxResult.returnSuccess(null);// 将基本的对象返回空
308 465 }
309   - // (2)高危因素列表 TODO
310   - List<Map<String, Object>> riskFactor = new ArrayList<>();
311   - // (3)产检记录列表 TODO (此处需要查询当前产程中本院和外院的所有产检记录(包括分布建档的),之后对接方承)
312   - List<Map<String, Object>> data = new ArrayList<>(); // data 系前端指定名称
313   - // (4)组装返回对象
314   - Map<String, Object> dataMap = new HashMap<>();
315   - dataMap.put("id", dbFetationRecord.getId());
316   - dataMap.put("pid", dbFetationRecord.getWomanPersonId());
317   - dataMap.put("name", dbFetationRecord.getBaseWomanName());
318   - dataMap.put("age", DateUtil.getAge(dbFetationRecord.getBaseWomanBirth()));
319   - // 根据“纠正末次月经”计算孕周
320   - dataMap.put("dueWeek", HospitalUtil.getPregnantWeek(dbFetationRecord.getHospitalCorrectLastMenstruation()));
321   - dataMap.put("yChanQi", dbFetationRecord.getHospitalExpectedDateStr());
322   - dataMap.put("phone", dbFetationRecord.getContactWomanWay());
323   - dataMap.put("riskScore", "15");// TODO 高危评分
324   - dataMap.put("remarks", dbFetationRecord.getHospitalRecordRemark());
325   - dataMap.put("lastMenses", dbFetationRecord.getHospitalLastMenstruationStr());
326   - dataMap.put("buildTime", dbFetationRecord.getHospitalRecordDateStr());// 建档日期
327   - dataMap.put("lastBuildTime", dbFetationRecord.getHospitalRecordDateStr());// TODO
328   - // ?
329   - dataMap.put("birth", dbFetationRecord.getBaseWomanBirthStr());
330   - dataMap.put("tireNumber1", "1");// TODO ?
331   - dataMap.put("cardNo", dbFetationRecord.getBasePapersNumber());
332   - dataMap.put("vcCardNo", dbFetationRecord.getHospitalPatientCard());
333   - dataMap.put("isSieve", "0");// TODO?
334   - dataMap.put("isH", "0");// TODO?
  466 + WomanFetationRecord dbFetationRecord = (WomanFetationRecord)dataMap.get("dbFetationRecord");
335 467  
336   - dataMap.put("riskFactor", riskFactor);
337   - dataMap.put("data", data);
338   - dataMap.put("now", DateUtil.getyyyy_MM_dd_hms(new Date()));
  468 + // 产检记录列表 TODO (此处需要查询当前产程中本院和外院的所有产检记录(包括分布建档的),之后对接方承)
  469 + List<Map<String, Object>> data = new ArrayList<>(); // data 系前端指定名称
  470 + List<DiagnoseInfo> diagnoseInfoList = infoService.getInfoListByWomanId(dbFetationRecord.getId());
  471 + if (!CollectionUtils.isEmpty(diagnoseInfoList)) {
  472 + for (DiagnoseInfo d : diagnoseInfoList) {
  473 + Map<String, Object> diagnoseInfoMap = new HashMap<>();
  474 + // 末次月经到产检时间的孕周数
  475 + diagnoseInfoMap.put("dueWeek", HospitalUtil
  476 + .getPregnantWeek(dbFetationRecord.getHospitalCorrectLastMenstruation(), d.getDiagnoseTime()));
  477 + diagnoseInfoMap.put("dueDate", DateUtil.getyyyy_MM_dd(dbFetationRecord.getHospitalExpectedDate()));// 预产期
  478 + diagnoseInfoMap.put("id", d.getId());
  479 + diagnoseInfoMap.put("checkTime", DateUtil.getyyyy_MM_dd(d.getDiagnoseTime()));
  480 + if (d.getType() != null) {
  481 + if (d.getType() == DiagnoseInfo.TYPE_FIRST) {
  482 + diagnoseInfoMap.put("title", "初诊");// 诊断类型,2为初诊,3为复诊
  483 + } else if (d.getType() == DiagnoseInfo.TYPE_SECOND) {
  484 + diagnoseInfoMap.put("title", "复诊");// 诊断类型,2为初诊,3为复诊
  485 + }
  486 + } else {
  487 + diagnoseInfoMap.put("title", null);
  488 + }
  489 + diagnoseInfoMap.put("type", d.getType());// 诊断类型,2为初诊,3为复诊
  490 + diagnoseInfoMap.put("hospitalName", orgService.getNameById(d.getOrgId()));
  491 + diagnoseInfoMap.put("hospitalId", d.getOrgId());
  492 + diagnoseInfoMap.put("enableEdit", "1");// 是否允许编辑
  493 + data.add(diagnoseInfoMap);
  494 + }
  495 + }
  496 +
  497 + dataMap.put("data", data);//产检记录列表
  498 + dataMap.remove("dbFetationRecord");
339 499 return AjaxResult.returnSuccess(dataMap);
340 500 }
341 501  
parent/hospital.web/src/main/java/com/lyms/hospital/request/exam/ChildbirthAddRequest.java View file @ 91a052c
  1 +package com.lyms.hospital.request.exam;
  2 +
  3 +import java.io.Serializable;
  4 +import java.util.List;
  5 +import java.util.Map;
  6 +
  7 +import com.lyms.hospital.util.Form;
  8 +
  9 +/**
  10 + * Created by Administrator on 2016/6/17 0017.
  11 + */
  12 +@Form
  13 +public class ChildbirthAddRequest{
  14 + private String id;
  15 + //
  16 + private String pid;
  17 + //产妇id
  18 + private String parentId;
  19 + //分娩时间
  20 + private String dueDate;
  21 + //分娩孕周
  22 + private String dueWeek;
  23 + //胎数
  24 + private Integer tireNumber;
  25 + //胎盘
  26 + private String placenta;
  27 + //胎盘信息
  28 + private List<Placenta> placentas;
  29 + //胎盘及新生儿
  30 + private List<Map<String,Object>> extPlacentas;
  31 + //分娩方式
  32 + private Map deliveryMode;
  33 + //手术原因
  34 + private String operationCause;
  35 + //产程 h 小时 m 分
  36 + private Map prodprocess;
  37 + //总产程
  38 + private Map totalprocess;
  39 + //会阴情况
  40 + private String perinealCondition;
  41 + //撕裂等级
  42 + private Integer siLielevel;
  43 + //锋线针数
  44 + private Integer needleNum;
  45 + //产妇情况
  46 + private String maternalInfo;
  47 + //死亡原因
  48 + private String deathCause;
  49 + //死亡原因其他
  50 + private String deathCauseText;
  51 + //产后血压
  52 + private Map chBp;
  53 + //产后2小时血压
  54 + private Map ch2Bp;
  55 + //呼吸
  56 + private String breath;
  57 + // 脉搏
  58 + private String pulse;
  59 + // 一小时失血量
  60 + private Double oHloseBloodL;
  61 + //二小时失血量
  62 + private Double tHloseBloodL;
  63 + //二十四小时失血量
  64 + private Double rHloseBloodL;
  65 + //第3产层+产后失血量
  66 + private Double sHloseBloodL;
  67 + //失血原因
  68 + private java.util.Map loseBloodCause;
  69 + //产科并发症
  70 + private java.util.Map ocs;
  71 +
  72 +
  73 + private List<Baby> babies;
  74 + //分娩医院
  75 + private String fmHospital;
  76 + //接生医生
  77 + private String deliverDoctor;
  78 +
  79 + public String getPid() {
  80 + return pid;
  81 + }
  82 +
  83 + public void setPid(String pid) {
  84 + this.pid = pid;
  85 + }
  86 +
  87 + public String getDeathCauseText() {
  88 + return deathCauseText;
  89 + }
  90 +
  91 + public void setDeathCauseText(String deathCauseText) {
  92 + this.deathCauseText = deathCauseText;
  93 + }
  94 +
  95 + public List<Map<String,Object>> getExtPlacentas() {
  96 + return extPlacentas;
  97 + }
  98 +
  99 + public void setExtPlacentas(List<Map<String,Object>> extPlacentas) {
  100 + this.extPlacentas = extPlacentas;
  101 + }
  102 +
  103 + public Double getoHloseBloodL() {
  104 + return oHloseBloodL;
  105 + }
  106 +
  107 + public void setoHloseBloodL(Double oHloseBloodL) {
  108 + this.oHloseBloodL = oHloseBloodL;
  109 + }
  110 +
  111 + public Double getrHloseBloodL() {
  112 + return rHloseBloodL;
  113 + }
  114 +
  115 + public void setrHloseBloodL(Double rHloseBloodL) {
  116 + this.rHloseBloodL = rHloseBloodL;
  117 + }
  118 +
  119 + public Double getsHloseBloodL() {
  120 + return sHloseBloodL;
  121 + }
  122 +
  123 + public void setsHloseBloodL(Double sHloseBloodL) {
  124 + this.sHloseBloodL = sHloseBloodL;
  125 + }
  126 +
  127 + public Double gettHloseBloodL() {
  128 + return tHloseBloodL;
  129 + }
  130 +
  131 + public void settHloseBloodL(Double tHloseBloodL) {
  132 + this.tHloseBloodL = tHloseBloodL;
  133 + }
  134 +
  135 + public List<Baby> getBabies() {
  136 + return babies;
  137 + }
  138 +
  139 + public void setBabies(List<Baby> babies) {
  140 + this.babies = babies;
  141 + }
  142 +
  143 + public String getBreath() {
  144 + return breath;
  145 + }
  146 +
  147 + public void setBreath(String breath) {
  148 + this.breath = breath;
  149 + }
  150 +
  151 +
  152 + public String getDueDate() {
  153 + return dueDate;
  154 + }
  155 +
  156 + public void setDueDate(String dueDate) {
  157 + this.dueDate = dueDate;
  158 + }
  159 +
  160 + public Integer getSiLielevel() {
  161 + return siLielevel;
  162 + }
  163 +
  164 + public void setSiLielevel(Integer siLielevel) {
  165 + this.siLielevel = siLielevel;
  166 + }
  167 +
  168 + public String getDueWeek() {
  169 + return dueWeek;
  170 + }
  171 +
  172 + public void setDueWeek(String dueWeek) {
  173 + this.dueWeek = dueWeek;
  174 + }
  175 +
  176 + public String getFmHospital() {
  177 + return fmHospital;
  178 + }
  179 +
  180 + public void setFmHospital(String fmHospital) {
  181 + this.fmHospital = fmHospital;
  182 + }
  183 +
  184 + public String getId() {
  185 + return id;
  186 + }
  187 +
  188 + public void setId(String id) {
  189 + this.id = id;
  190 + }
  191 +
  192 + public Map getLoseBloodCause() {
  193 + return loseBloodCause;
  194 + }
  195 +
  196 + public void setLoseBloodCause(Map loseBloodCause) {
  197 + this.loseBloodCause = loseBloodCause;
  198 + }
  199 +
  200 +
  201 + public Integer getTireNumber() {
  202 + return tireNumber;
  203 + }
  204 +
  205 + public void setTireNumber(Integer tireNumber) {
  206 + this.tireNumber = tireNumber;
  207 + }
  208 +
  209 + public String getMaternalInfo() {
  210 + return maternalInfo;
  211 + }
  212 +
  213 + public void setMaternalInfo(String maternalInfo) {
  214 + this.maternalInfo = maternalInfo;
  215 + }
  216 +
  217 +
  218 +
  219 + public Integer getNeedleNum() {
  220 + return needleNum;
  221 + }
  222 +
  223 + public void setNeedleNum(Integer needleNum) {
  224 + this.needleNum = needleNum;
  225 + }
  226 +
  227 +
  228 +
  229 + public String getOperationCause() {
  230 + return operationCause;
  231 + }
  232 +
  233 + public void setOperationCause(String operationCause) {
  234 + this.operationCause = operationCause;
  235 + }
  236 +
  237 + public String getParentId() {
  238 + return parentId;
  239 + }
  240 +
  241 + public void setParentId(String parentId) {
  242 + this.parentId = parentId;
  243 + }
  244 +
  245 + public String getPerinealCondition() {
  246 + return perinealCondition;
  247 + }
  248 +
  249 + public void setPerinealCondition(String perinealCondition) {
  250 + this.perinealCondition = perinealCondition;
  251 + }
  252 +
  253 + public String getPlacenta() {
  254 + return placenta;
  255 + }
  256 +
  257 + public void setPlacenta(String placenta) {
  258 + this.placenta = placenta;
  259 + }
  260 +
  261 + public List<Placenta> getPlacentas() {
  262 + return placentas;
  263 + }
  264 +
  265 + public void setPlacentas(List<Placenta> placentas) {
  266 + this.placentas = placentas;
  267 + }
  268 +
  269 +
  270 +
  271 + public String getPulse() {
  272 + return pulse;
  273 + }
  274 +
  275 + public void setPulse(String pulse) {
  276 + this.pulse = pulse;
  277 + }
  278 +
  279 +
  280 +
  281 +
  282 + public Map getCh2Bp() {
  283 + return ch2Bp;
  284 + }
  285 +
  286 + public void setCh2Bp(Map ch2Bp) {
  287 + this.ch2Bp = ch2Bp;
  288 + }
  289 +
  290 + public Map getChBp() {
  291 + return chBp;
  292 + }
  293 +
  294 + public void setChBp(Map chBp) {
  295 + this.chBp = chBp;
  296 + }
  297 +
  298 + public String getDeathCause() {
  299 + return deathCause;
  300 + }
  301 +
  302 + public void setDeathCause(String deathCause) {
  303 + this.deathCause = deathCause;
  304 + }
  305 +
  306 + public String getDeliverDoctor() {
  307 + return deliverDoctor;
  308 + }
  309 +
  310 + public void setDeliverDoctor(String deliverDoctor) {
  311 + this.deliverDoctor = deliverDoctor;
  312 + }
  313 +
  314 + public Map getDeliveryMode() {
  315 + return deliveryMode;
  316 + }
  317 +
  318 + public void setDeliveryMode(Map deliveryMode) {
  319 + this.deliveryMode = deliveryMode;
  320 + }
  321 +
  322 + public Map getOcs() {
  323 + return ocs;
  324 + }
  325 +
  326 + public void setOcs(Map ocs) {
  327 + this.ocs = ocs;
  328 + }
  329 +
  330 + public Map getProdprocess() {
  331 + return prodprocess;
  332 + }
  333 +
  334 + public void setProdprocess(Map prodprocess) {
  335 + this.prodprocess = prodprocess;
  336 + }
  337 +
  338 + public Map getTotalprocess() {
  339 + return totalprocess;
  340 + }
  341 +
  342 + public void setTotalprocess(Map totalprocess) {
  343 + this.totalprocess = totalprocess;
  344 + }
  345 +
  346 + public static class Placenta implements Serializable{
  347 + private static final long serialVersionUID = 1L;
  348 + //心率
  349 + private Double heartRate;
  350 + //胎方位
  351 + private String fetalPosition;
  352 + //胎先露
  353 + private String fetalPresentation;
  354 + // 衔接
  355 + private String join;
  356 +
  357 + public String getFetalPosition() {
  358 + return fetalPosition;
  359 + }
  360 +
  361 + public void setFetalPosition(String fetalPosition) {
  362 + this.fetalPosition = fetalPosition;
  363 + }
  364 +
  365 + public String getFetalPresentation() {
  366 + return fetalPresentation;
  367 + }
  368 +
  369 + public void setFetalPresentation(String fetalPresentation) {
  370 + this.fetalPresentation = fetalPresentation;
  371 + }
  372 +
  373 + public Double getHeartRate() {
  374 + return heartRate;
  375 + }
  376 +
  377 + public void setHeartRate(Double heartRate) {
  378 + this.heartRate = heartRate;
  379 + }
  380 +
  381 + public String getJoin() {
  382 + return join;
  383 + }
  384 +
  385 + public void setJoin(String join) {
  386 + this.join = join;
  387 + }
  388 + }
  389 +
  390 + public static class Baby{
  391 +
  392 + private String id;
  393 + //新生儿性别;
  394 + private String babyGender;
  395 + //新生儿重量
  396 + private String babyWeight;
  397 + //新生儿生长
  398 + private String babyHeight;
  399 + //畸形 0非畸形 1畸形
  400 + private Integer deformity;
  401 + //apgar评分
  402 + private Map apgarScore;
  403 + //窒息分钟
  404 + private String asphyxiaM;
  405 + // 妊娠结局
  406 + private String pregnancyOut;
  407 + //新生儿疾病
  408 + private String babyHealthy;
  409 + //母婴接触开始
  410 + private String contactStartM;
  411 + //母婴接触时间
  412 + private String contactM;
  413 + //早吮吸
  414 + private String earlySuck;
  415 + //分娩时间
  416 + private String dueTime;
  417 +
  418 + //儿童诊断
  419 + private String babyDiagnosis;
  420 +
  421 + //病历号(住院号)
  422 + private String blNo;
  423 +
  424 + public String getBabyDiagnosis() {
  425 + return babyDiagnosis;
  426 + }
  427 +
  428 + public void setBabyDiagnosis(String babyDiagnosis) {
  429 + this.babyDiagnosis = babyDiagnosis;
  430 + }
  431 +
  432 + public String getBlNo() {
  433 + return blNo;
  434 + }
  435 +
  436 + public void setBlNo(String blNo) {
  437 + this.blNo = blNo;
  438 + }
  439 +
  440 + public String getDueTime() {
  441 + return dueTime;
  442 + }
  443 +
  444 + public void setDueTime(String dueTime) {
  445 + this.dueTime = dueTime;
  446 + }
  447 +
  448 + public Map getApgarScore() {
  449 + return apgarScore;
  450 + }
  451 +
  452 + public void setApgarScore(Map apgarScore) {
  453 + this.apgarScore = apgarScore;
  454 + }
  455 +
  456 + public String getAsphyxiaM() {
  457 + return asphyxiaM;
  458 + }
  459 +
  460 + public void setAsphyxiaM(String asphyxiaM) {
  461 + this.asphyxiaM = asphyxiaM;
  462 + }
  463 +
  464 + public String getBabyGender() {
  465 + return babyGender;
  466 + }
  467 +
  468 + public void setBabyGender(String babyGender) {
  469 + this.babyGender = babyGender;
  470 + }
  471 +
  472 + public String getBabyHealthy() {
  473 + return babyHealthy;
  474 + }
  475 +
  476 + public void setBabyHealthy(String babyHealthy) {
  477 + this.babyHealthy = babyHealthy;
  478 + }
  479 +
  480 + public String getBabyHeight() {
  481 + return babyHeight;
  482 + }
  483 +
  484 + public void setBabyHeight(String babyHeight) {
  485 + this.babyHeight = babyHeight;
  486 + }
  487 +
  488 + public String getBabyWeight() {
  489 + return babyWeight;
  490 + }
  491 +
  492 + public void setBabyWeight(String babyWeight) {
  493 + this.babyWeight = babyWeight;
  494 + }
  495 +
  496 + public String getContactM() {
  497 + return contactM;
  498 + }
  499 +
  500 + public void setContactM(String contactM) {
  501 + this.contactM = contactM;
  502 + }
  503 +
  504 + public String getContactStartM() {
  505 + return contactStartM;
  506 + }
  507 +
  508 + public void setContactStartM(String contactStartM) {
  509 + this.contactStartM = contactStartM;
  510 + }
  511 +
  512 + public Integer getDeformity() {
  513 + return deformity;
  514 + }
  515 +
  516 + public void setDeformity(Integer deformity) {
  517 + this.deformity = deformity;
  518 + }
  519 +
  520 + public String getEarlySuck() {
  521 + return earlySuck;
  522 + }
  523 +
  524 + public void setEarlySuck(String earlySuck) {
  525 + this.earlySuck = earlySuck;
  526 + }
  527 +
  528 + public String getId() {
  529 + return id;
  530 + }
  531 +
  532 + public void setId(String id) {
  533 + this.id = id;
  534 + }
  535 +
  536 + public String getPregnancyOut() {
  537 + return pregnancyOut;
  538 + }
  539 +
  540 + public void setPregnancyOut(String pregnancyOut) {
  541 + this.pregnancyOut = pregnancyOut;
  542 + }
  543 +
  544 + @Override
  545 + public String toString() {
  546 + return "Baby{" +
  547 + "id='" + id + '\'' +
  548 + ", babyGender='" + babyGender + '\'' +
  549 + ", babyWeight='" + babyWeight + '\'' +
  550 + ", babyHeight='" + babyHeight + '\'' +
  551 + ", deformity=" + deformity +
  552 + ", apgarScore=" + apgarScore +
  553 + ", asphyxiaM='" + asphyxiaM + '\'' +
  554 + ", pregnancyOut='" + pregnancyOut + '\'' +
  555 + ", babyHealthy='" + babyHealthy + '\'' +
  556 + ", contactStartM='" + contactStartM + '\'' +
  557 + ", contactM='" + contactM + '\'' +
  558 + ", earlySuck='" + earlySuck + '\'' +
  559 + ", dueTime='" + dueTime + '\'' +
  560 + '}';
  561 + }
  562 + }
  563 +/* public static void main(String[] args){
  564 + MatDeliverAddRequest matDeliverAddRequest = new MatDeliverAddRequest();
  565 + List<Baby> babies = new ArrayList<>();
  566 + babies.add(matDeliverAddRequest .new Baby());
  567 + matDeliverAddRequest.setBabies(babies);
  568 + System.out.print(JsonUtil.obj2JsonString(matDeliverAddRequest));
  569 + }*/
  570 +
  571 + @Override
  572 + public String toString() {
  573 + return "MatDeliverAddRequest{" +
  574 + "id='" + id + '\'' +
  575 + ", pid='" + pid + '\'' +
  576 + ", parentId='" + parentId + '\'' +
  577 + ", dueDate='" + dueDate + '\'' +
  578 + ", dueWeek='" + dueWeek + '\'' +
  579 + ", tireNumber=" + tireNumber +
  580 + ", placenta='" + placenta + '\'' +
  581 + ", placentas=" + placentas +
  582 + ", extPlacentas=" + extPlacentas +
  583 + ", deliveryMode=" + deliveryMode +
  584 + ", operationCause='" + operationCause + '\'' +
  585 + ", prodprocess=" + prodprocess +
  586 + ", totalprocess=" + totalprocess +
  587 + ", perinealCondition='" + perinealCondition + '\'' +
  588 + ", siLielevel=" + siLielevel +
  589 + ", needleNum=" + needleNum +
  590 + ", maternalInfo='" + maternalInfo + '\'' +
  591 + ", deathCause='" + deathCause + '\'' +
  592 + ", deathCauseText='" + deathCauseText + '\'' +
  593 + ", chBp=" + chBp +
  594 + ", ch2Bp=" + ch2Bp +
  595 + ", breath='" + breath + '\'' +
  596 + ", pulse='" + pulse + '\'' +
  597 + ", oHloseBloodL=" + oHloseBloodL +
  598 + ", tHloseBloodL=" + tHloseBloodL +
  599 + ", rHloseBloodL=" + rHloseBloodL +
  600 + ", sHloseBloodL=" + sHloseBloodL +
  601 + ", loseBloodCause=" + loseBloodCause +
  602 + ", ocs=" + ocs +
  603 + ", babies=" + babies.toString() +
  604 + ", fmHospital='" + fmHospital + '\'' +
  605 + ", deliverDoctor='" + deliverDoctor + '\'' +
  606 + '}';
  607 + }
  608 +}
parent/hospital.web/src/main/java/com/lyms/hospital/request/exam/ChildbirthAddRequestWrapper.java View file @ 91a052c
  1 +package com.lyms.hospital.request.exam;
  2 +
  3 +import java.util.List;
  4 +
  5 +import com.lyms.hospital.entity.childbirth.ChildbirthInfo;
  6 +import com.lyms.hospital.entity.childbirth.ChildbirthInfoVo;
  7 +import com.lyms.hospital.entity.childbirth.ChildbirthNewborn;
  8 +import com.lyms.hospital.entity.childbirth.ChildbirthTai;
  9 +import com.lyms.hospital.entity.childbirth.ChildbirthTaipan;
  10 +
  11 +public class ChildbirthAddRequestWrapper {
  12 +
  13 + private ChildbirthAddRequest request;
  14 + private ChildbirthInfoVo vo;
  15 + private ChildbirthInfo info;
  16 + private List<ChildbirthNewborn> newbornList;
  17 + private List<ChildbirthTaipan> taipanList;
  18 + private List<ChildbirthTai> taiList;
  19 +
  20 + public ChildbirthAddRequestWrapper() {
  21 + }
  22 +
  23 + public ChildbirthAddRequestWrapper(ChildbirthAddRequest req) {
  24 + this.request = req;
  25 + if(req!=null){
  26 + String[] req_map = {"id","pid","parentId"};
  27 + String[] info_map = {"id","personId","womanId"};
  28 + info = new ChildbirthInfo();
  29 +// info.setId(req.getId());
  30 +// info.setPersonId(req.getPid());
  31 + }
  32 +
  33 + }
  34 +
  35 + public ChildbirthAddRequest getRequest() {
  36 + return request;
  37 + }
  38 +
  39 + public void setRequest(ChildbirthAddRequest request) {
  40 + this.request = request;
  41 + }
  42 +
  43 + public ChildbirthInfoVo getVo() {
  44 + return vo;
  45 + }
  46 +
  47 + public void setVo(ChildbirthInfoVo vo) {
  48 + this.vo = vo;
  49 + }
  50 +
  51 + public ChildbirthInfo getInfo() {
  52 + return info;
  53 + }
  54 +
  55 + public void setInfo(ChildbirthInfo info) {
  56 + this.info = info;
  57 + }
  58 +
  59 + public List<ChildbirthNewborn> getNewbornList() {
  60 + return newbornList;
  61 + }
  62 +
  63 + public void setNewbornList(List<ChildbirthNewborn> newbornList) {
  64 + this.newbornList = newbornList;
  65 + }
  66 +
  67 + public List<ChildbirthTaipan> getTaipanList() {
  68 + return taipanList;
  69 + }
  70 +
  71 + public void setTaipanList(List<ChildbirthTaipan> taipanList) {
  72 + this.taipanList = taipanList;
  73 + }
  74 +
  75 + public List<ChildbirthTai> getTaiList() {
  76 + return taiList;
  77 + }
  78 +
  79 + public void setTaiList(List<ChildbirthTai> taiList) {
  80 + this.taiList = taiList;
  81 + }
  82 +
  83 +}
parent/hospital.web/src/main/java/com/lyms/hospital/request/exam/ExamAddRequestWrapper.java View file @ 91a052c
1 1 package com.lyms.hospital.request.exam;
2 2  
3 3 import java.util.ArrayList;
  4 +import java.util.HashMap;
4 5 import java.util.List;
5 6 import java.util.Map;
6 7  
7 8  
... ... @@ -34,9 +35,12 @@
34 35 * 胎儿列表信息
35 36 */
36 37 private List<DiagnoseTai> diagnoseTaiList = new ArrayList<>();
  38 +
  39 + public ExamAddRequestWrapper(){}
37 40  
38 41 public ExamAddRequestWrapper(DiagnoseInfo info,DiagnoseAssit assist,
39 42 List<HistoryMaps> historyMapsList,List<DiagnoseTai> diagnoseTaiList) {
  43 + //List<HistorySource> historySourceList
40 44 this.diagnoseInfo = info;
41 45 this.diagnoseAssit = assist;
42 46 this.historyMapsList = historyMapsList;
43 47  
44 48  
... ... @@ -47,13 +51,66 @@
47 51 Map<String, Object> assistMap = XjhMapUtil.transBean2FormatAliasMap(assist,
48 52 XjhMapUtil.getKeyMap(WomanExamKeymap.original, WomanExamKeymap.alias));
49 53 infoMap.putAll(assistMap);
50   - this.examAddRequest = (ExamAddRequest) XjhMapUtil.transMap2AliasBean(infoMap, new ExamAddRequest(),
  54 + examAddRequest = (ExamAddRequest) XjhMapUtil.transMap2AliasBean(infoMap, new ExamAddRequest(),
51 55 XjhMapUtil.getKeyMap(WomanExamKeymap.original, WomanExamKeymap.alias));
  56 + examAddRequest.setParentId(info.getWomanId());// 孕妇档案ID
  57 + examAddRequest.setPid(info.getPersonId());// 女性居民
  58 + // 血压
  59 + Map<String, Object> bp = new HashMap<>();
  60 + bp.put("ssy", info.getBloodShrink());
  61 + bp.put("szy", info.getBloodDiastole());
  62 + examAddRequest.setBp(bp);
  63 + // 处理辅助检查,"yin","ruoyang","yang"字段
  64 + Map<Integer,String> keyMap = new HashMap<>();
  65 + keyMap.put(DiagnoseAssit.YIN,"yin");
  66 + keyMap.put(DiagnoseAssit.YANG,"yang");
  67 + keyMap.put(DiagnoseAssit.RUOYANG,"ruoyang");
  68 + keyMap.put(null,null);
  69 + examAddRequest.setBg(keyMap.get(assist.getLiverBg()));//丙肝
  70 + examAddRequest.setRh(keyMap.get(assist.getBloodtypeRh()));//RH血型
  71 + examAddRequest.setYgbmky(keyMap.get(assist.getHepatitisbYgbmky()));//乙肝表面抗原
  72 + examAddRequest.setYgbmkt(keyMap.get(assist.getHepatitisbYgbmkt()));//乙肝表面抗体
  73 + examAddRequest.setYgeky(keyMap.get(assist.getHepatitisbYgeky()));//乙肝e抗原
  74 + examAddRequest.setYgekt(keyMap.get(assist.getHepatitisbYgekt()));//乙肝e抗体
  75 + examAddRequest.setYghxkt(keyMap.get(assist.getHepatitisbYghxkt()));//乙肝核心抗体
  76 + examAddRequest.setHivkt(keyMap.get(assist.getSyphilisHiv()));//HIV抗体检测
  77 + examAddRequest.setSyjg(keyMap.get(assist.getSyphilisSyjg()));//梅毒血清实验结果
  78 + // 阴道分泌物
  79 + Map<String, Object> ydfmw = new HashMap<>();
  80 + ydfmw.put("ydqjd", assist.getVaginaYdqjd());
  81 + ydfmw.put("qtText", assist.getVaginaOtherTxt());
  82 + ydfmw.put("qt", new Integer(1).equals(assist.getVaginaOther()));
  83 + ydfmw.put("jsjmj", new Integer(1).equals(assist.getVaginaJsjmj()));
  84 + ydfmw.put("dc", new Integer(1).equals(assist.getVaginaDc()));
  85 + examAddRequest.setYdfmw(ydfmw);
  86 + // 病史信息
  87 + examAddRequest.setHistoryList(historyMapsList);
  88 + // hHealthInfo 丈夫健康情况(特殊处理)
  89 + Map<String, String> hHealthInfo = new HashMap<>();
  90 + if(historyMapsList!=null && !historyMapsList.isEmpty()){
  91 + for(HistoryMaps hm : historyMapsList){
  92 + if(HistoryMaps.ZFJKQK.equals(hm.getId())){//丈夫健康情况
  93 + hHealthInfo.put("qt", hm.getOtherTxt());
  94 + hHealthInfo.put("yesOrNo", "yes");
  95 + break;
  96 + }
  97 + }
  98 + }
  99 + examAddRequest.sethHealthInfo(hHealthInfo);
  100 + // 胎儿信息
  101 + List<Map<String,Object>> placentas = new ArrayList<>();
  102 + if(diagnoseTaiList!=null && !diagnoseTaiList.isEmpty()){
  103 + for(DiagnoseTai tai : diagnoseTaiList){
  104 + Map<String,Object> taiMap = new HashMap<>();
  105 + taiMap.put("heartRate", tai.getHeartRate());
  106 + taiMap.put("fetalPosition", tai.getPosition());
  107 + taiMap.put("fetalPresentation", tai.getFirstExpose());
  108 + taiMap.put("join", tai.getIsLink());
  109 + placentas.add(taiMap);
  110 + }
  111 + }
  112 + examAddRequest.setPlacentas(placentas);
52 113 }
53   -
54   - public ExamAddRequestWrapper(){
55   -
56   - }
57 114  
58 115 @SuppressWarnings("unchecked")
59 116 public ExamAddRequestWrapper(ExamAddRequest request) {
... ... @@ -95,7 +152,6 @@
95 152 }
96 153 }
97 154 diagnoseAssit = (DiagnoseAssit) XjhMapUtil.transMap2FormatBean(assistMap, new DiagnoseAssit());
98   - // 其他老版本结构数据补录
99 155 // 阴道分泌物
100 156 Map<String, Object> ydfmw = request.getYdfmw();
101 157 if (ydfmw != null) {
... ... @@ -155,8 +211,8 @@
155 211 }
156 212 }
157 213 }
158   - } // 病史信息 end
159   - // hHealthInfo 丈夫健康情况(特殊处理)
  214 + }
  215 +
160 216 Map<String, String> hHealthInfo = request.gethHealthInfo();
161 217 if (hHealthInfo != null) {
162 218 if ("yes".equals(this.obj2Str(hHealthInfo.get("yesOrNo")))) {
parent/hospital.web/src/main/java/com/lyms/hospital/util/HospitalUtil.java View file @ 91a052c
1   -package com.lyms.hospital.util;
2   -
3   -import java.util.Date;
4   -
5   -import com.lyms.util.DateUtil;
6   -
7   -/**
8   - * 计算孕周<br>
9   - * a<br>
10   - *
11   - * @author xujiahong
12   - *
13   - */
14   -public class HospitalUtil {
15   -
16   - /**
17   - * <li>@Description:
18   - * <li>@param date 末次月经日期
19   - * <li>@return
20   - * <li>创建人:xujiahong
21   - * <li>创建时间:2017年4月24日
22   - * <li>修改人:
23   - * <li>修改时间:
24   - */
25   - public static String getPregnantWeek(Date date) {
26   - Date now = new Date();
27   - int days = DateUtil.daysBetween(date, now);//返回两个日期的间隔天数
28   - if (days < 0) {
29   - return "";
30   - }
31   - if (days >= 294) {
32   - return "已分娩";
33   - }
34   - int week = (days / 7);
35   - int day = (days % 7);
36   - return "孕" + week + "周" + (day > 0 ? "+" + day + "天" : "");
37   - }
38   -
39   -}
parent/hospital.web/src/main/java/com/lyms/hospital/util/UnitConstants.java View file @ 91a052c
1   -package com.lyms.hospital.util;
2   -
3   -/**
4   - *
5   - * 单位常量,用以返回值拼接
6   - *
7   - * Created by Administrator on 2017/1/11 0011.
8   - */
9   -public class UnitConstants {
10   -
11   - public static final String CM = " cm";
12   - public static final String KG = " kg";
13   - public static final String MMHG = " mmHg";
14   - public static final String CIFEN = " 次/分";
15   - public static final String GL = " g/L";
16   - public static final String MMOLL = " mmol/L";
17   - public static final String CI = " 次";
18   - public static final String UL = " U/L";
19   - public static final String TEN_LKG = "&times;10<sup>9</sup>/L";
20   -// public static final String TEN_LKG = " 10^9/L";
21   - public static final String UMOLL = " umol/L";
22   - public static final String ZHEN = " 针";
23   - public static final String ML = " ml";
24   - public static final String G = " g";
25   - public static final String FEN = " 分";
26   - public static final String FZ = " 分钟";
27   - public static final String GE = " 个";
28   - public static final String SUI = " 岁";
29   - public static final String REN = " 人";
30   - public static final String HD = " 时/日";
31   - public static final String WENDU = " ℃";
32   - public static final String WSSD = " IU/日";
33   - public static final String DAY = " 天";
34   -
35   -
36   -}
parent/hospital.web/src/main/java/com/lyms/hospital/util/trans/OldDictionary.java View file @ 91a052c
1   -package com.lyms.hospital.util.trans;
2   -
3   -public class OldDictionary {
4   -
5   - private String id;
6   - private String hildConfigs;
7   - private String code;
8   - private String desc;
9   - private Integer enable;
10   - private String name;
11   - private String parentId;
12   -
13   - public OldDictionary(){}
14   -
15   - public OldDictionary(String id,String name){
16   - this.id = id;
17   - this.name = name;
18   - this.enable = 1;
19   - }
20   -
21   - public String getId() {
22   - return id;
23   - }
24   - public void setId(String id) {
25   - this.id = id;
26   - }
27   - public String getHildConfigs() {
28   - return hildConfigs;
29   - }
30   - public void setHildConfigs(String hildConfigs) {
31   - this.hildConfigs = hildConfigs;
32   - }
33   - public String getCode() {
34   - return code;
35   - }
36   - public void setCode(String code) {
37   - this.code = code;
38   - }
39   - public String getDesc() {
40   - return desc;
41   - }
42   - public void setDesc(String desc) {
43   - this.desc = desc;
44   - }
45   - public Integer getEnable() {
46   - return enable;
47   - }
48   - public void setEnable(Integer enable) {
49   - this.enable = enable;
50   - }
51   - public String getName() {
52   - return name;
53   - }
54   - public void setName(String name) {
55   - this.name = name;
56   - }
57   - public String getParentId() {
58   - return parentId;
59   - }
60   - public void setParentId(String parentId) {
61   - this.parentId = parentId;
62   - }
63   -
64   -
65   -}
parent/hospital.web/src/main/java/com/lyms/hospital/util/trans/XjhMapUtil.java View file @ 91a052c
1   -package com.lyms.hospital.util.trans;
2   -
3   -import java.beans.BeanInfo;
4   -import java.beans.Introspector;
5   -import java.beans.PropertyDescriptor;
6   -import java.lang.reflect.InvocationTargetException;
7   -import java.lang.reflect.Method;
8   -import java.util.Date;
9   -import java.util.HashMap;
10   -import java.util.HashSet;
11   -import java.util.Map;
12   -import java.util.Set;
13   -
14   -import com.lyms.hospital.entity.assist.DiagnoseAssit;
15   -import com.lyms.hospital.request.exam.ExamAddRequest;
16   -import com.lyms.util.DateUtil;
17   -
18   -public class XjhMapUtil {
19   -
20   - /**
21   - * 简单处理映射字段类型不匹配的情况
22   - * @param property 目标字段Bean相关信息
23   - * @param value 目标字段值
24   - * @param obj 对象
25   - * @author xujiahong
26   - * @throws InvocationTargetException
27   - * @throws IllegalArgumentException
28   - * @throws IllegalAccessException
29   - */
30   - private static void invokeIgnoreType(PropertyDescriptor property,Object value,Object obj) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException{
31   - if(obj==null || property==null){
32   - return;
33   - }
34   - // 得到property对应的setter方法
35   - Method setter = property.getWriteMethod();
36   - if(value==null){//null值可匹配任何类型的对象
37   - setter.invoke(obj, value);
38   - return;
39   - }
40   - Class<?> keyType = property.getPropertyType();
41   - Class<?> valueType = value.getClass();
42   - //简单处理映射字段类型不匹配的情况
43   - if (keyType.equals(valueType)) {
44   - setter.invoke(obj, value);
45   - } else {
46   - if(keyType.equals(String.class)){
47   - setter.invoke(obj, value.toString());
48   - }else if(keyType.equals(Integer.class)){
49   - setter.invoke(obj, Integer.parseInt(value.toString()));
50   - }else if(keyType.equals(Double.class)){
51   - setter.invoke(obj, Double.parseDouble(value.toString()));
52   - }else{
53   - System.err.println("映射"+obj.getClass().getName()+"对象时发生错误");
54   - System.err.println("字段【"+property.getName()+"】没有可匹配的自动转换类型");
55   - }
56   - }
57   - }
58   -
59   - public static Object transMap2Bean(Map<String, Object> map, Object obj) {
60   - if(map==null || obj==null){
61   - return null;
62   - }
63   - try {
64   - BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
65   - PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
66   - for (PropertyDescriptor property : propertyDescriptors) {
67   - String key = property.getName();
68   - if (map.containsKey(key)) {
69   - Object value = map.get(key);
70   - invokeIgnoreType(property,value,obj);
71   - }
72   - }
73   - } catch (Exception e) {
74   - System.err.println("映射"+obj.getClass().getName()+"对象时发生错误");
75   - System.err.println("transMap2Bean Error " + e);
76   - e.printStackTrace();
77   - }
78   - return obj;
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   - }
102   -
103   - // 自动处理时间字段和对应的字符串字段(Str结尾)
104   - public static Object transMap2FormatBean(Map<String, Object> map, Object obj) {
105   - if(map==null || obj==null){
106   - return null;
107   - }
108   - try {
109   - BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
110   - PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
111   - for (PropertyDescriptor property : propertyDescriptors) {
112   - String key = property.getName();
113   - Class<?> keyType = property.getPropertyType();
114   - // set当前字段
115   - if (map.containsKey(key)) {
116   - Object value = map.get(key);
117   - invokeIgnoreType(property,value,obj);
118   -
119   - /*
120   - * 自动处理时间字段和对应的字符串字段(Str结尾)
121   - */
122   - if (keyType.equals(String.class) && key.length() > 3
123   - && "Str".equals(key.substring(key.length() - 3))) {// key可能是格式化字段
124   - String dateKey = key.substring(0,key.length() - 3);
125   - for (PropertyDescriptor dateProperty : propertyDescriptors) {
126   - if (dateKey.equals(dateProperty.getName())) {// 找到了对应的日期字段,set之
127   - String dateValue = value.toString();
128   - if (dateValue.length() == 10) {// yyyy-MM-dd
129   - dateProperty.getWriteMethod().invoke(obj, DateUtil.parseYMD(dateValue));
130   - } else if (dateValue.length() == 19) {// yyyy-MM-dd
131   - // HH:mm:ss
132   - dateProperty.getWriteMethod().invoke(obj, DateUtil.parseYMDHMS(dateValue));
133   - }
134   - }
135   - }
136   - }
137   - }
138   -
139   - }
140   - } catch (Exception e) {
141   - System.err.println("映射"+obj.getClass().getName()+"对象时发生错误");
142   - System.err.println("transMap2FormatBean Error " + e);
143   - e.printStackTrace();
144   - }
145   - return obj;
146   - }
147   -
148   - public static Map<String, Object> transBean2Map(Object obj) {
149   - if(obj==null){
150   - return null;
151   - }
152   - Map<String, Object> map = new HashMap<>();
153   - try {
154   - BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
155   - PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
156   - for (PropertyDescriptor property : propertyDescriptors) {
157   - String key = property.getName();
158   - // 过滤class属性
159   - if (!key.equals("class")) {
160   - // 得到property对应的getter方法
161   - Method getter = property.getReadMethod();
162   - Object value = getter.invoke(obj);
163   - map.put(key, value);
164   - }
165   - }
166   - } catch (Exception e) {
167   - System.err.println("映射"+obj.getClass().getName()+"对象时发生错误");
168   - System.err.println("transBean2Map Error " + e);
169   - e.printStackTrace();
170   - }
171   - return map;
172   - }
173   -
174   - public static HashMap<String, String> getKeyMap(String[] original, String[] alias) {
175   - int length = original.length;
176   - if (length != alias.length) {
177   - throw new RuntimeException("映射配置错误");
178   - }
179   - HashMap<String, String> map = new HashMap<>();
180   - for (int i = 0; i < length; i++) {
181   - map.put(original[i], alias[i]);
182   - map.put(alias[i], original[i]);
183   - }
184   - /*
185   - * 1--A(正常映射) 4--4(同名映射,允许) 2--C,C--3(错误映射) 错误的keyMap映射的value会有重复
186   - */
187   - Set<String> keySet = map.keySet();
188   - Set<String> valueSet = new HashSet<>();
189   - for (String key : keySet) {
190   - valueSet.add(map.get(key));
191   - }
192   - if (keySet.size() != valueSet.size()) {
193   - throw new RuntimeException("映射配置错误");
194   - }
195   - return map;
196   - }
197   -
198   - public static Map<String, Object> transBean2AliasMap(Object obj, HashMap<String, String> keyMap) {
199   - if(keyMap==null || obj==null){
200   - return null;
201   - }
202   - Map<String, Object> map = new HashMap<>();
203   - try {
204   - BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
205   - PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
206   - for (PropertyDescriptor property : propertyDescriptors) {
207   - String field = property.getName();
208   - // 过滤class属性
209   - if (!field.equals("class")) {
210   - // 得到property对应的getter方法
211   - Method getter = property.getReadMethod();
212   - Object value = getter.invoke(obj);
213   - if (keyMap.containsKey(field)) {
214   - map.put(keyMap.get(field), value);
215   - }
216   - }
217   - }
218   - } catch (Exception e) {
219   - System.err.println("映射"+obj.getClass().getName()+"对象时发生错误");
220   - System.err.println("transBean2AliasMap Error " + e);
221   - e.printStackTrace();
222   - }
223   - return map;
224   - }
225   -
226   - public static Map<String, Object> transBean2FormatAliasMap(Object obj, HashMap<String, String> keyMap) {
227   - if(keyMap==null || obj==null){
228   - return null;
229   - }
230   - Map<String, Object> map = new HashMap<>();
231   - try {
232   - BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
233   - PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
234   - for (PropertyDescriptor property : propertyDescriptors) {
235   - String field = property.getName();
236   - // Class<?> fieldType = property.getPropertyType();
237   - // 过滤class属性
238   - if (!field.equals("class")) {
239   - // 得到property对应的getter方法
240   - Method getter = property.getReadMethod();
241   - Object value = getter.invoke(obj);
242   - if (value instanceof Date) {// 自动格式化日期对象
243   - Date dateValue = (Date) value;
244   - String str = DateUtil.getyyyy_MM_dd(dateValue);// getyyyy_MM_dd_hms
245   - if (keyMap.get(field + "Str") != null) {
246   - map.put(keyMap.get(field + "Str"), str);
247   - }
248   - } else {// 普通字段,别名存储
249   - if (keyMap.get(field) != null) {
250   - if (map.get(keyMap.get(field)) == null) {// 如果被以上的格式化代码赋值过,则不再过问
251   - map.put(keyMap.get(field), value);
252   - }
253   - }
254   - }
255   - }
256   - }
257   - } catch (Exception e) {
258   - System.err.println("映射"+obj.getClass().getName()+"对象时发生错误");
259   - System.err.println("transBean2FormatAliasMap Error " + e);
260   - e.printStackTrace();
261   - }
262   - return map;
263   - }
264   -
265   -// public static void mappingAlias(Object original, Object alias, HashMap<String, String> keyMap) {
266   -// Map<String, Object> aliasMap = transBean2AliasMap(original, keyMap);
267   -// transMap2Bean(aliasMap, alias);
268   -// }
269   -//
270   -// public static void mappingFormatAlias(Object original, Object alias, HashMap<String, String> keyMap) {
271   -// Map<String, Object> aliasMap = transBean2FormatAliasMap(original, keyMap);
272   -// transMap2FormatBean(aliasMap, alias);
273   -// }
274   -
275   - /*
276   - * 方便书写映射文件keyMap
277   - */
278   - private static void printField(Object obj) {
279   - try {
280   - BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
281   - PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
282   - for (PropertyDescriptor property : propertyDescriptors) {
283   - String key = property.getName();
284   - // 过滤class属性
285   - if (!key.equals("class")) {
286   - System.out.println("\"" + key + "\",//");// "name",
287   - }
288   - }
289   - } catch (Exception e) {
290   - e.printStackTrace();
291   - }
292   - }
293   -
294   - /*
295   - * 方便书写 json
296   - */
297   - private static void printJsonByArray(String[] args) {
298   - System.out.println("{");
299   - for (int i = 0; i < args.length; i++) {
300   - String str = "\"" + args[i] + "\":\"666\"";
301   - if (i != args.length - 1) {
302   - str += ",";
303   - }
304   - System.out.println(str);
305   - }
306   - System.out.println("}");
307   - }
308   -
309   - public static void main(String[] args) {
310   - printField(new DiagnoseAssit());
311   -// printJsonByArray(WomanFetationRecordKeymap.alias);
312   - }
313   -
314   -}
parent/hospital.web/src/main/resources/xml/app-shiro.xml View file @ 91a052c
... ... @@ -47,6 +47,7 @@
47 47 <value>
48 48 /login/tokens = anon
49 49 /** = user,forceLogout
  50 + /commonApi/* = anon
50 51 <!--
51 52 /logout = logout
52 53 /captcha/* = anon