diff --git a/docus-webservice/src/main/java/com/docus/webservice/config/WebServiceConfig.java b/docus-webservice/src/main/java/com/docus/webservice/config/WebServiceConfig.java index 9d22428..bc1940d 100644 --- a/docus-webservice/src/main/java/com/docus/webservice/config/WebServiceConfig.java +++ b/docus-webservice/src/main/java/com/docus/webservice/config/WebServiceConfig.java @@ -3,7 +3,6 @@ package com.docus.webservice.config; import com.docus.webservice.enums.Codes; import com.docus.webservice.handler.ITBasicWebService; import com.docus.webservice.handler.TBasicWebService; -import com.sun.xml.internal.ws.transport.http.server.EndpointImpl; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/docus-webservice/src/main/java/com/docus/webservice/enums/Codes.java b/docus-webservice/src/main/java/com/docus/webservice/enums/Codes.java index 529a49e..5083a65 100644 --- a/docus-webservice/src/main/java/com/docus/webservice/enums/Codes.java +++ b/docus-webservice/src/main/java/com/docus/webservice/enums/Codes.java @@ -17,7 +17,7 @@ public enum Codes { //web service返回描述部分 RET_CON("103","RetCon"), //web service 服务名 - EXTERNAL("9999","docus_tBasic_data"), + EXTERNAL("9201","docus_tBasic_data"), //静态文件存放位置 JSON_ADDRESS("999",System.getProperty("user.dir")+"\\docus-webservice\\dataConfig\\homeQualitySet.json"), //接收二级节点 diff --git a/docus-webservice/src/main/java/com/docus/webservice/handler/ITBasicWebService.java b/docus-webservice/src/main/java/com/docus/webservice/handler/ITBasicWebService.java index fe3aa0c..e6f4176 100644 --- a/docus-webservice/src/main/java/com/docus/webservice/handler/ITBasicWebService.java +++ b/docus-webservice/src/main/java/com/docus/webservice/handler/ITBasicWebService.java @@ -7,10 +7,13 @@ import javax.jws.WebService; public interface ITBasicWebService { /** - * 住院患者信息 + * 住院患者信息新增 * @param tbasic * @return */ @WebMethod String savaAndSub(String tbasic); + + @WebMethod + String updateAndSub(String tbasic); } 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 c937072..22e05a2 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 @@ -85,7 +85,64 @@ public class TBasicWebService implements ITBasicWebService { return ResultUtils.fail("数据库执行出错,请重试"); } } else { - //修改 + return ResultUtils.fail("emp_id不能和已有的重复"); + } + }else { + ResultUtils.fail("请提供完整的xml"); + } + } catch (Exception e) { + e.printStackTrace(); + return ResultUtils.fail(); + } + return ResultUtils.success().asXML(); + } + + @Override + public String updateAndSub(String tbasic) { + XmlUtils xmlUtils; + try { + //解析xml + xmlUtils = new XmlUtils(new ByteArrayInputStream(tbasic.getBytes("UTF-8"))); + //解析json映射文件 + String json = JsonUtils.readJsonFile(Codes.JSON_ADDRESS.getMessage()); + Map jsonMap = JSON.parseObject(json, Map.class); + HashMap tBasicMap = new HashMap<>(); + HashMap tBasicSubMap = new HashMap<>(); + List selectColumns = JSON.parseArray(String.valueOf(jsonMap.get(Codes.SELECT_COLUMNS.getMessage())), SelectColumn.class); + String value; + for (SelectColumn selectColumn : selectColumns) { + try { + value = xmlUtils.getElementText(selectColumn.getQualityColumn()) == null ? null : String.valueOf(xmlUtils.getElementText(selectColumn.getQualityColumn())); + } catch (RuntimeException e) { + String message = e.getMessage(); + return ResultUtils.fail(message); + } + if (StringUtils.isBlank(value)) { + if (selectColumn.getByNull() == 0) { + return ResultUtils.fail(selectColumn.getQualityColumn() + " 字段不能为空值"); + } else { + continue; + } + } else { + if (selectColumn.getTableName().equals("t_basic")) { + tBasicMap.put(selectColumn.getColumnName(), value); + } + if (selectColumn.getTableName().equals("t_basic_sub")) { + tBasicSubMap.put(selectColumn.getColumnName(), value); + } + } + } + //处理业务 + TBasic tBasic; + TBasicSub tBasicSub; + int insert; + if (tBasicMap != null && tBasicMap.size() > 0) { + tBasic = JSON.parseObject(JSON.toJSONString(tBasicMap), TBasic.class); + if(StringUtils.isNotBlank(tBasic.getEmpId())){ + return ResultUtils.fail("emp_id字段不能为空值"); + } + TBasic selectTBasic = tBasicMapper.selectOne(new QueryWrapper().eq("emp_id", tBasic.getEmpId())); + if(selectTBasic!=null){ insert = tBasicMapper.update(tBasic, new QueryWrapper().eq("emp_id", tBasic.getEmpId())); if (insert <= 0) { return ResultUtils.fail("数据库执行出错,请重试"); @@ -99,12 +156,16 @@ public class TBasicWebService implements ITBasicWebService { return ResultUtils.fail("数据库执行出错,请重试"); } } + }else { + ResultUtils.fail("修改时,需提供有效的emp_id"); } + }else { + ResultUtils.fail("请提供完整的xml"); } - } catch (Exception e) { + }catch (Exception e) { e.printStackTrace(); return ResultUtils.fail(); } - return ResultUtils.success().asXML(); + return null; } }