feat(mapping): 完成 PHIS 健康档案转换(T-212)
This commit is contained in:
+10
-3
@@ -26,14 +26,14 @@ type PersonSignResult struct {
|
||||
}
|
||||
|
||||
func (c *Client) CreateHealthRecord(ctx context.Context, req contract.HealthRecordCreate) (contract.HealthRecordSaveResult, Result, error) {
|
||||
req.ManageInfo = c.manageInfo()
|
||||
req.ManageInfo = c.manageInfoFor(req.ManageInfo.OperateUser)
|
||||
var out contract.HealthRecordSaveResult
|
||||
result, err := c.callUploadInfo(ctx, ServiceIDJKDACreate, req, &out)
|
||||
return out, result, err
|
||||
}
|
||||
|
||||
func (c *Client) UpdateHealthRecord(ctx context.Context, req contract.HealthRecordCreate) (contract.HealthRecordSaveResult, Result, error) {
|
||||
req.ManageInfo = c.manageInfo()
|
||||
req.ManageInfo = c.manageInfoFor(req.ManageInfo.OperateUser)
|
||||
var out contract.HealthRecordSaveResult
|
||||
result, err := c.callUploadInfo(ctx, ServiceIDJKDAUpdate, req, &out)
|
||||
return out, result, err
|
||||
@@ -59,9 +59,16 @@ func (c *Client) FindRqbj(ctx context.Context, query FindRqbjQuery) (PersonSignR
|
||||
}
|
||||
|
||||
func (c *Client) manageInfo() contract.ManageInfo {
|
||||
return c.manageInfoFor("")
|
||||
}
|
||||
|
||||
func (c *Client) manageInfoFor(operateUser string) contract.ManageInfo {
|
||||
if operateUser == "" {
|
||||
operateUser = c.config.OperateUser
|
||||
}
|
||||
return contract.ManageInfo{
|
||||
DSFMC: c.config.UserName,
|
||||
OperateUser: c.config.OperateUser,
|
||||
OperateUser: operateUser,
|
||||
OperateUnit: c.operateUnit(),
|
||||
}
|
||||
}
|
||||
|
||||
+6
-1
@@ -25,7 +25,8 @@ func TestCreateHealthRecordCallsJKDA00001WithUploadInfo(t *testing.T) {
|
||||
|
||||
client := newTestJKDAClient(t, server.URL)
|
||||
resultData, result, err := client.CreateHealthRecord(context.Background(), contract.HealthRecordCreate{
|
||||
BaseInfo: contract.HealthRecordBaseInfo{IDCard: "440000********1234", PersonName: "测试人员"},
|
||||
BaseInfo: contract.HealthRecordBaseInfo{IDCard: "440000********1234", PersonName: "测试人员"},
|
||||
ManageInfo: contract.ManageInfo{OperateUser: "doc-001"},
|
||||
HealthRecord: contract.HealthRecordCreateInfo{
|
||||
CheckID: "CHK2026070700000001",
|
||||
IDCard: "440000********1234",
|
||||
@@ -48,6 +49,10 @@ func TestCreateHealthRecordCallsJKDA00001WithUploadInfo(t *testing.T) {
|
||||
t.Fatalf("serviceId = %v", seenPayload["serviceId"])
|
||||
}
|
||||
uploadInfo := seenPayload["uploadinfo"].(map[string]any)
|
||||
manageInfo := uploadInfo["manageInfo"].(map[string]any)
|
||||
if manageInfo["operateUser"] != "doc-001" || manageInfo["DSFMC"] != "dyytgw" || manageInfo["operateUnit"] != "12441625456962881G" {
|
||||
t.Fatalf("manageInfo = %#v", manageInfo)
|
||||
}
|
||||
healthRecord := uploadInfo["healthRecord"].(map[string]any)
|
||||
if healthRecord["checkId"] != "CHK2026070700000001" || healthRecord["manaUnitId"] != "123456789" {
|
||||
t.Fatalf("healthRecord = %#v", healthRecord)
|
||||
|
||||
Reference in New Issue
Block a user