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);
}
}