diff --git a/docus-webservice/src/main/java/com/docus/webservice/entity/TBasic.java b/docus-webservice/src/main/java/com/docus/webservice/entity/TBasic.java index 6201523..4b2c139 100644 --- a/docus-webservice/src/main/java/com/docus/webservice/entity/TBasic.java +++ b/docus-webservice/src/main/java/com/docus/webservice/entity/TBasic.java @@ -150,6 +150,18 @@ public class TBasic implements Serializable { @ApiModelProperty(value = "记账号") private String jzh; + @ApiModelProperty(value = "患者主索引号") + private String empId; + @ApiModelProperty(value = "就诊类别代码") + private String visitTypeCode; + @ApiModelProperty(value = "就诊类别名称") + private String visitTypeName; + @ApiModelProperty(value = "中医诊断代码") + private String tcmDiagCode; + @ApiModelProperty(value = "中医诊断名称") + private String tcmDiagName; + @ApiModelProperty(value = "所在院区") + private String wardPalce; } diff --git a/docus-webservice/src/main/java/com/docus/webservice/handler/TBasicWebService.java b/docus-webservice/src/main/java/com/docus/webservice/handler/TBasicWebService.java index ec7585a..3d27adc 100644 --- a/docus-webservice/src/main/java/com/docus/webservice/handler/TBasicWebService.java +++ b/docus-webservice/src/main/java/com/docus/webservice/handler/TBasicWebService.java @@ -14,12 +14,14 @@ import com.docus.webservice.utils.XmlUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; import javax.jws.WebService; import java.io.ByteArrayInputStream; import java.util.HashMap; import java.util.List; import java.util.Map; + @WebService public class TBasicWebService implements ITBasicWebService { @@ -33,7 +35,6 @@ public class TBasicWebService implements ITBasicWebService { @Override public String savaAndSub(String tbasic) { XmlUtils xmlUtils = null; - String resXml; try { //解析xml xmlUtils = new XmlUtils(new ByteArrayInputStream(tbasic.getBytes("UTF-8"))); @@ -46,8 +47,8 @@ public class TBasicWebService implements ITBasicWebService { String value; for (SelectColumn selectColumn : selectColumns) { try { - value = String.valueOf(xmlUtils.getElementText(selectColumn.getQualityColumn())); - }catch (RuntimeException e){ + value = xmlUtils.getElementText(selectColumn.getQualityColumn())==null?null:String.valueOf(xmlUtils.getElementText(selectColumn.getQualityColumn())); + } catch (RuntimeException e) { String message = e.getMessage(); System.out.println(message); return ResultUtils.fail(message); @@ -68,23 +69,36 @@ public class TBasicWebService implements ITBasicWebService { } } //处理业务 - TBasic tBasic = new TBasic(); - + TBasic tBasic; + TBasicSub tBasicSub; int insert; if (tBasicMap != null && tBasicMap.size() > 0) { - tBasic=JsonUtils.map2bean(tBasicMap,TBasic.class); -// insert = tBasicMapper.insert(tBasic); -// if (insert <= 0) { -// return ResultUtils.fail("数据库执行出错,请重试"); -// } - TBasicSub tBasicSub = new TBasicSub(); -// BeanUtils.copyProperties(tBasicSubMap, tBasicSub); - tBasicSub=JsonUtils.map2bean(tBasicSubMap,TBasicSub.class); - tBasicSub.setPatientId(tBasic.getPatientId()); -// insert = tBasicSubMapper.insert(tBasicSub); -// if (insert <= 0) { -// return ResultUtils.fail("数据库执行出错,请重试"); -// } + tBasic = JSON.parseObject(JSON.toJSONString(tBasicMap), TBasic.class); + if (StringUtils.isBlank(tBasic.getPatientId())) { + //新增 + insert = tBasicMapper.insert(tBasic); + if (insert <= 0) { + return ResultUtils.fail("数据库执行出错,请重试"); + } + tBasicSub = JSON.parseObject(JSON.toJSONString(tBasicSubMap), TBasicSub.class); + tBasicSub.setPatientId(tBasic.getPatientId()); + insert = tBasicSubMapper.insert(tBasicSub); + if (insert <= 0) { + return ResultUtils.fail("数据库执行出错,请重试"); + } + } else { + //修改 + insert=tBasicMapper.updateById(tBasic); + if (insert <= 0) { + return ResultUtils.fail("数据库执行出错,请重试"); + } + tBasicSub = JSON.parseObject(JSON.toJSONString(tBasicSubMap), TBasicSub.class); + tBasicSub.setPatientId(tBasic.getPatientId()); + insert = tBasicSubMapper.updateById(tBasicSub); + if (insert <= 0) { + return ResultUtils.fail("数据库执行出错,请重试"); + } + } } } catch (Exception e) { e.printStackTrace(); diff --git a/docus-webservice/src/main/java/com/docus/webservice/utils/JsonUtils.java b/docus-webservice/src/main/java/com/docus/webservice/utils/JsonUtils.java index f091170..6fb7998 100644 --- a/docus-webservice/src/main/java/com/docus/webservice/utils/JsonUtils.java +++ b/docus-webservice/src/main/java/com/docus/webservice/utils/JsonUtils.java @@ -2,12 +2,16 @@ package com.docus.webservice.utils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateUtils; +import org.springframework.beans.BeanUtils; import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.io.*; +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; import java.util.Date; +import java.util.HashMap; import java.util.Map; /** @@ -49,53 +53,4 @@ public class JsonUtils { } } } - - private final static String STRINGCLASS = ""; - private final static Long LONGCLASS = new Long(0); - private final static Date DATECLASS = new Date(); - - /** - * 将Map集合中的数据封装到JavaBean对象中 - * map的key为全小写 - * bean属性驼峰 - * @param map 集合 - * @param classType 封装javabean对象 - * @return - * @throws Exception - */ - public static T map2bean(Map map, Class classType) throws Exception { - // 1 采用反射动态创建对象 - T obj = classType.newInstance(); - - // 2 获取对象字节码信息,不要Object的属性 - BeanInfo beanInfo = Introspector.getBeanInfo(classType,Object.class); - - // 3 获取bean对象中的所有属性 - PropertyDescriptor[] list = beanInfo.getPropertyDescriptors(); - for (PropertyDescriptor pd : list) { - // 3.1 获取属性名 - String key = pd.getName(); - - // 3.2 获取属性值:属性值在map中全部存的小写 - Object value = map.get(key.toLowerCase()); - - // 3.3 转换数据类型 - if (value != null && StringUtils.isNotBlank(value.toString())) { - Class propertyType = pd.getPropertyType(); - if (propertyType.isInstance(STRINGCLASS)) { // 转换成String类型 - value = (String) value; - } - if (propertyType.isInstance(LONGCLASS)) { // 转换成Long类型 - value = Long.parseLong((String) value); - } - if (propertyType.isInstance(DATECLASS)) {// 转换成日期类型 - value = DateUtils.parseDate((String) value); - } - - pd.getWriteMethod().invoke(obj, propertyType.cast(value)); //调用属性setter()方法,设置到javabean对象当中 - } - } - return obj; - } - }