diff --git a/collect-sdry/src/main/java/com/docus/server/collect/WsResultImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/WsResultImpl.java index d4a17f0..75f0c9d 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/WsResultImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/WsResultImpl.java @@ -15,6 +15,11 @@ public class WsResultImpl implements IWsResult { @Override public String fail(String message) { - return null; + return message; + } + + @Override + public String ok(String message) { + return message; } -} \ No newline at end of file +} diff --git a/collect-sdry/src/main/java/com/docus/server/collect/medical/record/ParseServiceImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/medical/record/ParseServiceImpl.java index 4eb2650..36401ba 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/medical/record/ParseServiceImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/medical/record/ParseServiceImpl.java @@ -1,12 +1,17 @@ package com.docus.server.collect.medical.record; +import com.docus.core.util.DateUtil; +import com.docus.core.util.Func; import com.docus.core.util.XmlUtil; import com.docus.server.collect.service.IParseService; import com.docus.server.record.pojo.entity.MedicalRecord; import com.docus.server.sys.common.pojo.dto.DeptDTO; +import com.docus.server.tool.IdUtil; import org.springframework.stereotype.Service; import org.w3c.dom.Node; +import java.util.Date; + @Service public class ParseServiceImpl implements IParseService { @@ -45,4 +50,78 @@ public class ParseServiceImpl implements IParseService { deptDto.setAuthorName(authorNameNode.getNodeValue()); return deptDto; } + + @Override + public String parseDeptOkXml(DeptDTO deptDTO) { + String createTime = Func.format(new Date(), DateUtil.PATTERN_DATETIME_MINI); + return "\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + ""; + } + + @Override + public String parseDeptFailXml(DeptDTO deptDto) { + String createTime = Func.format(new Date(), DateUtil.PATTERN_DATETIME_MINI); + return "\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + "\n"; + } } diff --git a/common-collect/src/main/java/com/docus/server/collect/service/IParseService.java b/common-collect/src/main/java/com/docus/server/collect/service/IParseService.java index 848ca1e..3118df3 100644 --- a/common-collect/src/main/java/com/docus/server/collect/service/IParseService.java +++ b/common-collect/src/main/java/com/docus/server/collect/service/IParseService.java @@ -7,4 +7,8 @@ public interface IParseService { MedicalRecord parseHandNumbness(String handNumbness); DeptDTO parseDeptXml(String deptXml); + + String parseDeptOkXml(DeptDTO receiveUser); + + String parseDeptFailXml(DeptDTO deptDto); } diff --git a/common-collect/src/main/java/com/docus/server/tool/IdUtil.java b/common-collect/src/main/java/com/docus/server/tool/IdUtil.java new file mode 100644 index 0000000..2592c6b --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/tool/IdUtil.java @@ -0,0 +1,19 @@ +package com.docus.server.tool; + +import lombok.Data; + +import java.util.UUID; +import java.util.concurrent.ThreadLocalRandom; + +@Data +public class IdUtil { + /** + * 得到一个标准的 8-4-4-4-12 UUID + * @return 标准的 8-4-4-4-12 UUID + */ + public static String standardUUID(){ + ThreadLocalRandom random = ThreadLocalRandom.current(); + return (new UUID(random.nextLong(), random.nextLong())).toString(); + } + +} diff --git a/common-collect/src/main/java/com/docus/server/ws/IWsResult.java b/common-collect/src/main/java/com/docus/server/ws/IWsResult.java index ba6314c..124e8b6 100644 --- a/common-collect/src/main/java/com/docus/server/ws/IWsResult.java +++ b/common-collect/src/main/java/com/docus/server/ws/IWsResult.java @@ -8,4 +8,7 @@ public interface IWsResult { String fail(String message); + String ok(String message); + + } diff --git a/common-collect/src/main/java/com/docus/server/ws/WsCollect.java b/common-collect/src/main/java/com/docus/server/ws/WsCollect.java index bf899eb..7681215 100644 --- a/common-collect/src/main/java/com/docus/server/ws/WsCollect.java +++ b/common-collect/src/main/java/com/docus/server/ws/WsCollect.java @@ -1,14 +1,20 @@ package com.docus.server.ws; +import com.docus.core.util.Func; +import com.docus.infrastructure.core.exception.BaseException; import com.docus.server.collect.service.CollectService; import com.docus.server.collect.service.IParseService; import com.docus.server.record.pojo.entity.MedicalRecord; import com.docus.server.record.service.IMedicalRecordService; import com.docus.server.sys.common.pojo.dto.DeptDTO; +import com.docus.server.sys.service.IPowerDeptService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.util.HashMap; +import java.util.Map; + @Slf4j @Component public class WsCollect { @@ -20,7 +26,12 @@ public class WsCollect { private CollectService collectService; @Autowired private IWsResult wsResult; - + @Autowired + private IPowerDeptService powerDeptService; + @Autowired + private IWsResult wsResult; + @Autowired + private IWsResult wsResult; //接收xml。并且下载病案。 public String receiveHandNumbness(String handNumbness) { @@ -48,4 +59,30 @@ public class WsCollect { } + public String deptModify(String receiveUser) { + log.info("新增/修改科室数据:{}", receiveUser); + DeptDTO deptDto = new DeptDTO(); + try { + deptDto = parseService.parseDeptXml(receiveUser); + String operateType = deptDto.getOperateType(); + String delType = "D"; + // 判断操作类型 + if (Func.isNotEmpty(operateType) && operateType.contains(delType)) { + powerDeptService.delDeptByDeptCode(deptDto.getDeptCode()); + } else { + powerDeptService.saveOrUpdatePowerDept(deptDto); + } + return wsResult.ok(parseService.parseDeptOkXml(deptDto)); + } catch (BaseException e) { + log.error(e.getMessage(), e); + deptDto.setErrorMsg(e.getMessage()); + return wsResult.fail(parseService.parseDeptFailXml(deptDto)); + } catch (Exception e) { + log.error(e.getMessage(), e); + deptDto.setErrorMsg("系统出错啦!"); + return wsResult.fail(parseService.parseDeptFailXml(deptDto)); + } + } + + } diff --git a/common-collect/src/main/java/com/docus/server/ws/impl/WebserviceServer.java b/common-collect/src/main/java/com/docus/server/ws/impl/WebserviceServer.java index cc515f4..25a388a 100644 --- a/common-collect/src/main/java/com/docus/server/ws/impl/WebserviceServer.java +++ b/common-collect/src/main/java/com/docus/server/ws/impl/WebserviceServer.java @@ -25,8 +25,8 @@ public class WebserviceServer implements IWebserviceServer { } @Override - public String deptModify(String receiveUser) { - return null; + public String deptModify(String deptXml) { + return wsCollect.deptModify(deptXml); } @Override diff --git a/docus-sys/src/main/java/com/docus/server/sys/common/pojo/dto/DeptDTO.java b/docus-sys/src/main/java/com/docus/server/sys/common/pojo/dto/DeptDTO.java index 6eccefe..679f1f0 100644 --- a/docus-sys/src/main/java/com/docus/server/sys/common/pojo/dto/DeptDTO.java +++ b/docus-sys/src/main/java/com/docus/server/sys/common/pojo/dto/DeptDTO.java @@ -47,6 +47,10 @@ public class DeptDTO { */ private String authorId; + /** + * 异常消息 + */ + private String errorMsg; /** * 转换用户修改对象 @@ -65,16 +69,30 @@ public class DeptDTO { /** * 拓展参数 */ - private Map params; + public Param addParam(String key, Object obj) { + return new Param(key, obj); + } - public Object getParams(String key) { - return params != null ? params.get(key) : null; + public Map param(String key, Object obj) { + return new Param(key, obj).param(); } - public void setParams(String key, Object value) { - if (this.params == null) { - this.params = new HashMap<>(); + protected static final class Param { + + private Map params = new HashMap(); + + + public Param(String key, Object value) { + addParam(key, value); + } + + public Param addParam(String key, Object value) { + this.params.put(key, value); + return this; + } + + public Map param() { + return this.params; } - this.params.put(key, value); } }