Sfoglia il codice sorgente

修改职工人员字典,调整为name节点截取工号与姓名数据

singlese7en 2 anni fa
parent
commit
17f0de339a

+ 63 - 41
IL.BizComponent/MediII.Adapter.BizComponent.PMU/BizComponent_PMU.cs

@@ -46,8 +46,25 @@ namespace MediII.Adapter.BizComponent.PMU
             OperateXmlUtil helper = new OperateXmlUtil();
             string qurysql = "select count(*) from dbo.his_doct where DOCT_CODE=@DOCT_CODE";
             DbCommand command = ctx.GetSqlStringCommand(qurysql.ToString());
-            string pkid = helper.XpathRead(m, "//*[@root='2.16.156.10011.1.4']", "extension");
-            ctx.AddInParameter(command, "DOCT_CODE", System.Data.DbType.String, pkid);
+
+            //string pkid = helper.XpathRead(m, "//*[@root='2.16.156.10011.1.4']", "extension");
+            //ctx.AddInParameter(command, "DOCT_CODE", System.Data.DbType.String, pkid);
+            //int counts = Convert.ToInt32(ctx.ExecuteScalar(command));
+            var valueNode = helper.XpathRead(m, "//*[name()='healthCarePrincipalPerson']").Item(0);
+            string idCode = string.Empty;
+            foreach (XmlNode xe in valueNode.ChildNodes)
+            {
+                if (xe.Name == "name")
+                {
+                    idCode = xe.LastChild.LastChild.Attributes["value"].Value;
+
+                    break;
+                }
+            }
+            int index = idCode.IndexOf('/');
+            string pkid = idCode.Substring(index, idCode.Length - index);
+            //ctx.AddInParameter(command, "DOCT_NAME", System.Data.DbType.String, pkid.Substring(0,index));
+            ctx.AddInParameter(command, "DOCT_CODE", System.Data.DbType.String, idCode.Substring(index, idCode.Length - index));
             int counts = Convert.ToInt32(ctx.ExecuteScalar(command));
 
 
@@ -58,11 +75,11 @@ namespace MediII.Adapter.BizComponent.PMU
                 if (counts == 0)
                 {
                     //没有查询到记录则新增,否则修改
-                    AddData(m, pkid);
+                    AddData(m, idCode);
                 }
                 else
                 {
-                    UpDateData(m, pkid);
+                    UpDateData(m, idCode);
                 }
 
 
@@ -74,18 +91,24 @@ namespace MediII.Adapter.BizComponent.PMU
         public void AddData(string message, string id)
         {
             #region 新增
+//            string sql = @"INSERT INTO dbo.his_doct
+//                                    ( DOCT_CODE ,
+//                                    DOCT_NAME ,
+//                                    HIS_DEPT_CODE ,
+//                                    HIS_DEPT_NAME ,
+//                                    status
+//                                    )
+//                            VALUES  ( @DOCT_CODE,
+//                                    @DOCT_NAME ,
+//                                    @HIS_DEPT_CODE ,
+//                                    @HIS_DEPT_NAME ,
+//                                    @status)";
             string sql = @"INSERT INTO dbo.his_doct
                                     ( DOCT_CODE ,
-                                    DOCT_NAME ,
-                                    HIS_DEPT_CODE ,
-                                    HIS_DEPT_NAME ,
-                                    status
+                                    DOCT_NAME
                                     )
                             VALUES  ( @DOCT_CODE,
-                                    @DOCT_NAME ,
-                                    @HIS_DEPT_CODE ,
-                                    @HIS_DEPT_NAME ,
-                                    @status)";
+                                    @DOCT_NAME )";
             DbCommand command = ctx.GetSqlStringCommand(sql.ToString());
 
             SetEntity(message, command, id);
@@ -96,10 +119,7 @@ namespace MediII.Adapter.BizComponent.PMU
         {
             #region 修改
             string sql1 = @"update dbo.his_doct set 
-                                    DOCT_NAME =@DOCT_NAME,
-                                    HIS_DEPT_CODE =@HIS_DEPT_CODE,
-                                    HIS_DEPT_NAME =@HIS_DEPT_NAME,
-                                    status=@status
+                                    DOCT_NAME =@DOCT_NAME
                                 where DOCT_CODE=@DOCT_CODE";
             DbCommand command1 = ctx.GetSqlStringCommand(sql1.ToString());
 
@@ -112,36 +132,38 @@ namespace MediII.Adapter.BizComponent.PMU
         {
             string value = string.Empty;
             OperateXmlUtil xmlHelper = new OperateXmlUtil();
+            int index = id.IndexOf('/');
+            ctx.AddInParameter(command, "DOCT_CODE", System.Data.DbType.String, id.Substring(index+1, id.Length - index-1));
 
-            ctx.AddInParameter(command, "DOCT_CODE", System.Data.DbType.String, id);
-            var valueNode = xmlHelper.XpathRead(message, "//*[name()='healthCarePrincipalPerson']").Item(0);
-
-            foreach (XmlNode xe in valueNode.ChildNodes)
-            {
-                if (xe.Name == "name")
-                {
-                    value = xe.LastChild.LastChild.Attributes["value"].Value;
-                    ctx.AddInParameter(command, "DOCT_NAME", System.Data.DbType.String, value);
+            ctx.AddInParameter(command, "DOCT_NAME", System.Data.DbType.String, id.Substring(0,index));
+            //var valueNode = xmlHelper.XpathRead(message, "//*[name()='healthCarePrincipalPerson']").Item(0);
 
-                    break;
-                }
-            }
+            //foreach (XmlNode xe in valueNode.ChildNodes)
+            //{
+            //    if (xe.Name == "name")
+            //    {
+            //        value = xe.LastChild.LastChild.Attributes["value"].Value;
+            //        ctx.AddInParameter(command, "DOCT_NAME", System.Data.DbType.String, value);
 
-            value = xmlHelper.XpathRead(message, "//*[@root='2.16.156.10011.1.26']", "extension");
-            ctx.AddInParameter(command, "HIS_DEPT_CODE", System.Data.DbType.AnsiString, value);
+            //        break;
+            //    }
+            //}
 
-            valueNode = xmlHelper.XpathRead(message, "//*[name()='affiliatedPrincipalOrganization']").Item(0);
-            foreach (XmlNode xe in valueNode.ChildNodes)
-            {
-                if (xe.Name == "name")
-                {
-                    value = xe.LastChild.LastChild.Attributes["value"].Value;
-                    ctx.AddInParameter(command, "HIS_DEPT_NAME", System.Data.DbType.String, value);
+            //value = xmlHelper.XpathRead(message, "//*[@root='2.16.156.10011.1.26']", "extension");
+            //ctx.AddInParameter(command, "HIS_DEPT_CODE", System.Data.DbType.AnsiString, value);
 
-                    break;
-                }
-            }
-            ctx.AddInParameter(command, "status", System.Data.DbType.String, "在用");
+            //valueNode = xmlHelper.XpathRead(message, "//*[name()='affiliatedPrincipalOrganization']").Item(0);
+            //foreach (XmlNode xe in valueNode.ChildNodes)
+            //{
+            //    if (xe.Name == "name")
+            //    {
+            //        value = xe.LastChild.LastChild.Attributes["value"].Value;
+            //        ctx.AddInParameter(command, "HIS_DEPT_NAME", System.Data.DbType.String, value);
+
+            //        break;
+            //    }
+            //}
+            //ctx.AddInParameter(command, "status", System.Data.DbType.String, "在用");
             //ctx.ExecuteNonQuery(command);
         }
         public void AddEmpLicense(string type, string pkid, string bm, string updateuser)