353489937@qq.com 10 月之前
父节点
当前提交
36ce9a7515

二进制
.vs/ChongQingMI/v16/.suo


+ 1 - 1
Business/HisMainBusiness.cs

@@ -2428,7 +2428,7 @@ namespace PTMedicalInsurance.Business
                         {
                             JObject joData = new JObject();
                             JObject joTmp = new JObject();
-                            joTmp.Add("warnType", 1);
+                            joTmp.Add("warn_type", 1);
                             joTmp.Add("warns", paipaForm.jaWarns);
                             joData.Add("data", joTmp);
                             joRtn = invoker.invokeCenterService("3103", joData);

+ 17 - 0
Business/IrisServices.cs

@@ -1968,6 +1968,23 @@ namespace PTMedicalInsurance.Business
             }
         }
 
+        //查询已对照的数据
+        public JObject QueryMappedData(JObject joSqlStr, string desc)
+        {
+            try
+            {
+                InvokeHelper invoker = new InvokeHelper();
+                JObject joRtn = invoker.invokeInsuService(JsonHelper.setIrisInpar("09010081", joSqlStr).ToString(), desc);
+
+                return joRtn;
+            }
+            catch (Exception ex)
+            {
+                return JsonHelper.setExceptionJson(-1, "查询交易日志(冲正)异常:", ex.Message);
+            }
+
+        }
+
         public JObject UpdateDirectoryBySelf(JObject joIn)
         {
             try

+ 8 - 2
Business/PreAndInProcessAnalysis.cs

@@ -119,7 +119,7 @@ namespace PTMedicalInsurance.Business
                 joInpar.Add("poolarea", p.insuplc_admdvs);
                 joInpar.Add("curr_mdtrt_id", curr_mdtrt_id);
                 joInpar.Add("fsi_encounter_dtos", GetFsi_encounter_dtos(trig_scen,p));
-                joInpar.Add("fsi_his_data_dto", new JArray());
+                //joInpar.Add("fsi_his_data_dto", new JArray());
                 JArray ja = new JArray();
                 ja.Add(joInpar);
                 return ja;
@@ -143,7 +143,7 @@ namespace PTMedicalInsurance.Business
                 joInpar.Add("medins_id", Global.inf.hospitalNO);  //医疗服务机构标识
                 joInpar.Add("medins_name", Global.inf.hospitalName);  //医疗机构名称
                 joInpar.Add("medins_admdvs", Global.inf.areaCode);  //医疗机构行政区划编码
-                joInpar.Add("medins_type", "A");  //医疗服务机构类型
+                joInpar.Add("medins_type", "1");  //医疗服务机构类型
                 joInpar.Add("medins_lv", "04");  //医疗机构等级
                 joInpar.Add("wardarea_codg", JsonHelper.getDestValue(jofsi_encounter_dtos, "wardarea_codg"));  //病区标识
                 joInpar.Add("wardno", JsonHelper.getDestValue(jofsi_encounter_dtos, "wardno"));  //病房号
@@ -160,6 +160,11 @@ namespace PTMedicalInsurance.Business
                 joInpar.Add("dscg_dept_name", JsonHelper.getDestValue(jofsi_encounter_dtos, "dscg_dept_name"));  //出院科室名称
                 joInpar.Add("med_mdtrt_type", JsonHelper.getDestValue(jofsi_encounter_dtos, "med_mdtrt_type"));  //就诊类型
                 string med_type = JsonHelper.getDestValue(jofsi_encounter_dtos, "med_type");
+                if (string.IsNullOrEmpty(med_type))
+                {
+                    med_type = Global.pat.medType;
+
+                }
                 joInpar.Add("med_type", med_type);  //医疗类别
                 joInpar.Add("fsi_order_dtos", GetFsi__order_dtos(trig_scen,p));  //处方(医嘱)信息
                 string matn_stas = JsonHelper.getDestValue(jofsi_encounter_dtos, "matn_stas");
@@ -239,6 +244,7 @@ namespace PTMedicalInsurance.Business
                     decimal pric = decimal.Parse(fsi_order_dtos[i]["pric"].ToString());
                     fsi_order_dtos[i]["pric"] = pric.ToString("#0.00");
                     fsi_order_dtos[i]["hilist_pric"] = pric.ToString("#0.00");
+                    fsi_order_dtos[i]["validFlag"] = 1;
                 }
                 //调用医保平台进行转换
                 if (mis.convertFsiOrderDtos(fsi_order_dtos, out errMsg) != 0)

+ 1 - 0
ChongQingMI.csproj

@@ -273,6 +273,7 @@
       <DesignTimeSharedInput>True</DesignTimeSharedInput>
       <DependentUpon>Settings.settings</DependentUpon>
     </Compile>
+    <Compile Include="Variables\Enums.cs" />
     <Compile Include="Variables\Global.cs" />
     <Compile Include="Variables\Response.cs" />
     <Compile Include="Variables\Struct.cs" />

+ 29 - 6
FormSetter/GridViewSetter.cs

@@ -83,22 +83,45 @@ namespace PTMedicalInsurance.FormSetter
         public void SetHeaderTextOfDrug(DataGridView dgv)
         {
             dgv.Columns.Clear();
+            //AddDGVColumn(dgv, "编码", "Code", 300);
+            //AddDGVColumn(dgv, "名称", "Name", 300);
+            //AddDGVColumn(dgv, "批准文号", "ApprovalNO", 200);
+            //AddDGVColumn(dgv, "剂型", "DosageFormCode");
+            //AddDGVColumn(dgv, "剂型名称", "DosageFormName");
+            //AddDGVColumn(dgv, "规格", "Specification");
+            //AddDGVColumn(dgv, "包装单位", "UnitOfPackag",100);
+            //AddDGVColumn(dgv, "计价单位", "UnitOfValuation",100);
+            //AddDGVColumn(dgv, "有效标志", "ValidFlag",100);
+            //AddDGVCheckBoxColumn(dgv, "使用标志", "UseFlag",100);
+            //AddDGVColumn(dgv, "特殊药品标志", "SpecialFlag");
+            //AddDGVColumn(dgv, "更新时间", "UpdateTime",180);
+            //AddDGVColumn(dgv, "限制标志", "LimitFlag");
+            //AddDGVColumn(dgv, "限制范围", "LimitRange");
+            //AddDGVColumn(dgv, "生产厂家", "Manufacturers");
+            //AddDGVColumn(dgv, "版本号", "VersionNO");
+
+
             AddDGVColumn(dgv, "编码", "Code", 300);
             AddDGVColumn(dgv, "名称", "Name", 300);
             AddDGVColumn(dgv, "批准文号", "ApprovalNO", 200);
+            AddDGVColumn(dgv, "收费项目等级", "ChargeItemLevel");
+            AddDGVColumn(dgv, "医疗收费项目类别", "ChargeItemType");
+            AddDGVColumn(dgv, "收费标准", "ChargeStandards");
+            AddDGVColumn(dgv, "目录类别", "ListType");
+            AddDGVColumn(dgv, "最高限价", "CeilingPrice");
             AddDGVColumn(dgv, "剂型", "DosageFormCode");
             AddDGVColumn(dgv, "剂型名称", "DosageFormName");
             AddDGVColumn(dgv, "规格", "Specification");
-            AddDGVColumn(dgv, "包装单位", "UnitOfPackag",100);
-            AddDGVColumn(dgv, "计价单位", "UnitOfValuation",100);
-            AddDGVColumn(dgv, "有效标志", "ValidFlag",100);
-            AddDGVCheckBoxColumn(dgv, "使用标志", "UseFlag",100);
+            AddDGVColumn(dgv, "包装单位", "UnitOfPackag", 100);
+            AddDGVColumn(dgv, "计价单位", "UnitOfValuation", 100);
+            //AddDGVColumn(dgv, "有效标志", "ValidFlag",100);
+            AddDGVCheckBoxColumn(dgv, "儿童用药标志", "CumulativeNegativeBurdenFlag", 100);
             AddDGVColumn(dgv, "特殊药品标志", "SpecialFlag");
-            AddDGVColumn(dgv, "更新时间", "UpdateTime",180);
-            AddDGVColumn(dgv, "限制标志", "LimitFlag");
+            //AddDGVColumn(dgv, "限制标志", "LimitFlag");
             AddDGVColumn(dgv, "限制范围", "LimitRange");
             AddDGVColumn(dgv, "生产厂家", "Manufacturers");
             AddDGVColumn(dgv, "版本号", "VersionNO");
+            AddDGVColumn(dgv, "更新时间", "UpdateTime", 180);
         }
 
         ///// <summary>

+ 410 - 3
Forms/BasicData.cs

@@ -1305,7 +1305,7 @@ namespace PTMedicalInsurance.Forms
                         funNo = "1312";
                         joData.query_date = ""; //查询时间点
                         joData.hilist_code = tbDirectoryCode.Text;  //医保目录编码
-                        joData.insu_admdvs = "";  //参保机构医保区划
+                        joData.insu_admdvs = Global.inf.areaCode;  //参保机构医保区划
                         joData.begndate = ""; //开始日期
                         joData.hilist_name = tbDircetoryName.Text;      //医保目录名称
                         joData.wubi = "";  //五笔助记码
@@ -1366,7 +1366,7 @@ namespace PTMedicalInsurance.Forms
                         joData.hilist_code = tbDirectoryCode.Text;          //医保目录编码
                         joData.hilist_lmtpric_type = "";  //医保目录限价类型
                         joData.overlmt_dspo_way = "";     //医保目录超限处理方式
-                        joData.insu_admdvs = "";          //参保机构医保区划
+                        joData.insu_admdvs = Global.inf.areaCode;          //参保机构医保区划
                         joData.begndate = "";             //开始日期
                         joData.enddate = "";              //结束日期
                         joData.vali_flag = "";            //有效标志
@@ -1801,6 +1801,413 @@ namespace PTMedicalInsurance.Forms
                 }
             }
         }
+
+        private void tsmExportAllMappedData_Click(object sender, EventArgs e)
+        {
+            if (queryHISDirectory(1, 1000, out string errMsg) != 0)
+            {
+                MessageBox.Show(errMsg);
+                return;
+            }
+
+            if (dtExport.Rows.Count > 0)
+            {
+                string directoryType = string.Empty;
+                string sBZ = "";
+                switch (rbgDirecType_C.SelectedIndex)
+                {
+                    case 0:
+                        {
+                            directoryType = "药品";
+                            break;
+                        }
+                    case 1:
+                        {
+                            directoryType = "诊疗";
+                            break;
+                        }
+                    case 2:
+                        {
+                            directoryType = "材料";
+                            break;
+                        }
+                }
+
+                if (rbAll.Checked) sBZ = "全部";
+                else
+                    if (rbMaped.Checked) sBZ = "已对照";
+                else
+                    if (rbNoMaped.Checked) sBZ = "未对照";
+
+                string LSH = DateTime.Now.ToString("yyyy-MM-dd"); //DateTime.Now.ToString("MMddHHmmssffff");
+                string sFliePathName = @"D:\" + LSH + "(" + directoryType + ")医保目录" + sBZ + "信息.xls";
+                string ReturnFileName = ExportToExcel.DataTabletoExcel(dtExport, sFliePathName);
+                if (ReturnFileName != "")
+                {
+                    MessageBox.Show("导出成功,文件保存路径:【" + ReturnFileName + "】");
+                    System.Diagnostics.Process.Start(ReturnFileName); //打开excel文件                
+                }
+                else
+                {
+                    MessageBox.Show("导出失败!");
+                }
+            }
+        }
+
+        private void tsmUploadAllMappedData_Click(object sender, EventArgs e)
+        {
+            AllUpLoad();
+        }
+
+        private void tsmCancelAllUploadedData_Click(object sender, EventArgs e)
+        {
+            AllCancelUpload();
+        }
+
+        private void tsmUpdateCellPriceOfAllMapped_Click(object sender, EventArgs e)
+        {
+            updateMappedInsuInfo(updateCellPriceWrapper);
+        }
+
+        private void tsmUpdateAllMapped_Click(object sender, EventArgs e)
+        {
+            updateMappedInsuInfo(updateAuxAndCellPriceWrapper);
+        }
+
+        private void updateMappedInsuInfo(Func<JObject, OutParamWrapper, int> action)
+        {
+            string sqlStr = $"select * from HB_MedInsuMapRelation where Interface_Dr='{Global.inf.interfaceDr}' and Hospital_Dr ='{Global.inf.hospitalDr}'";
+            JObject joSqlstr = new JObject();
+            joSqlstr.Add("sqlStr", sqlStr);
+            JObject joRtn = mIS.QueryMappedData(joSqlstr, "查询所有已对照数据");
+
+            DataTable dt = (DataTable)joRtn["result"]["data"].ToObject(typeof(DataTable));
+
+            int iFalse = 0;
+            int iCount = 0;
+            foreach (DataRow dr in dt.Rows)
+            {
+                JObject jo = new JObject();
+                jo.Add("code", dr["InsuCode"].ToString());
+                jo.Add("HisType", dr["HisType"].ToString());
+                OutParamWrapper outParWarp = new OutParamWrapper();
+                if (action(jo, outParWarp) != 0)
+                {
+                    iFalse++;
+                    Global.writeLog(outParWarp.Value);
+                }
+            }
+
+            if (iFalse != 0)
+            {
+                MessageBox.Show($"总共{iCount}条数据更新完成,但有{iFalse}条更新发生错误!");
+
+            }
+            else
+            {
+                MessageBox.Show("全部数据更新完成");
+            }
+        }
+
+        private int updateAuxAndCellPriceWrapper(JObject jo, OutParamWrapper outParamWrapper)
+        {
+            string err;
+            int iresult = updateAuxAndCellPrice(jo, out err);
+            outParamWrapper.Value = err;
+            return iresult;
+        }
+
+        private int updateCellPriceWrapper(JObject jo, OutParamWrapper outParamWrapper)
+        {
+            string err;
+            int iresult = updateCellingPrice(jo, out err);
+            outParamWrapper.Value = err;
+            return iresult;
+        }
+
+        private int updateAuxInfoWrapper(JObject jo, OutParamWrapper outParamWrapper)
+        {
+            string err;
+            int iresult = updateAuxInfo(jo, out err);
+            outParamWrapper.Value = err;
+            return iresult;
+        }
+
+        private int updateAuxAndCellPrice(JObject jo, out string error)
+        {
+            string err = "";
+            int iResult = 0;
+            error = "";
+            if (updateAuxInfo(jo, out err) != 0)
+            {
+                error = $"更新目录信息失败{err}";
+                iResult--;
+            }
+
+            err = "";
+            if (updateCellingPrice(jo, out err) != 0)
+            {
+                error = $"{error};更新限价信息失败{err}";
+                iResult--;
+            }
+
+            return iResult;
+        }
+
+        private void tsmUpdateLevelTypeOfAllMappedData_Click(object sender, EventArgs e)
+        {
+            updateMappedInsuInfo(updateAuxInfoWrapper);
+        }
+
+        private void tsmSingleUpdateInsuInfo_Click(object sender, EventArgs e)
+        {
+            if ((dgvHISDirectory.CurrentRow == null) || (rbMaped.Checked != true))
+            {
+                MessageBox.Show("请查询HIS目录对照关系,注意选择已对照!");
+                return;
+            }
+
+            int iMapped = dgvHISDirectory.CurrentRow.Index;
+
+            string insuCode = dgvHISDirectory.Rows[iMapped].Cells["insuCode"].Value.ToString();
+            if (string.IsNullOrEmpty(insuCode))
+            {
+                MessageBox.Show("未检测到对应的医保目录,请检查该目录是否已对照!");
+                return;
+            }
+
+            JObject jo = new JObject();
+            jo.Add("code", dgvHISDirectory.Rows[iMapped].Cells["insuCode"].Value.ToString());
+            jo.Add("HisType", rbgDirecType_C.SelectedIndex + 1);
+
+            string error;
+            if (updateAuxAndCellPrice(jo, out error) != 0)
+            {
+                MessageBox.Show($"更新失败{error}");
+            }
+            else
+            {
+                MessageBox.Show("更新成功!");
+            }
+        }
+
+        public string getDataRowValue(DataRow dr,string columnName)
+        {
+            if (!dr.Table.Columns.Contains(columnName))
+            {
+                return "";
+            }
+            else
+            {
+                return dr[columnName].ToString();
+            }
+        }
+
+        //更新目录信息(附属信息)
+        private int updateAuxInfo(JObject jo, out string err)
+        {
+            err = "";
+            tbDirectoryCode.Text = JsonHelper.getDestValue(jo, "code");
+            string funNo; 
+            dynamic joData = GetInput(15, out funNo);
+            JObject joRtn = cBus.InvokeMedicalInsuranceInquiry(funNo, joData);
+
+            if (joRtn["infcode"].ToString() == "0")
+            {
+                DataTable dtAuxInfo = (DataTable)joRtn["output"]["data"].ToObject(typeof(DataTable));
+
+                DateTime dtToday = DateTime.Today;
+                string chrgitm_lv = "";
+                string begndate = "";
+                string enddate = "";
+                string list_type = "";
+                string med_chrgitm_type = "";
+
+                int iAdpater = 0;
+
+                foreach (DataRow dr in dtAuxInfo.Rows)
+                {
+                    DateTime dtBegin = getDataRowValue(dr,"begndate") == "" ? Convert.ToDateTime("2000-01-01 00:00:00") : Convert.ToDateTime(getDataRowValue(dr,"begndate"));
+                    DateTime dtEnd = getDataRowValue(dr,"enddate") == "" ? Convert.ToDateTime("2099-01-01 00:00:00") : Convert.ToDateTime(getDataRowValue(dr,"enddate"));
+
+                    if ((dtBegin < dtToday) && (dtToday < dtEnd))
+                    {
+                        iAdpater++;
+                        chrgitm_lv = dr["chrgitm_lv"].ToString();
+                        begndate = dtBegin.ToString("yyyy-MM-dd HH:mm:ss");
+                        enddate = dtEnd.ToString("yyyy-MM-dd HH:mm:ss");
+                        list_type = dr["list_type"].ToString();
+                        med_chrgitm_type = dr["med_chrgitm_type"].ToString();
+                    }
+                }
+
+                //有且只能有一条数据符合
+                if (iAdpater == 1)
+                {
+                    JObject joPamam = new JObject();
+                    joPamam.Add("Code", JsonHelper.getDestValue(jo, "code"));
+                    joPamam.Add("HisType", JsonHelper.getDestValue(jo, "HisType"));
+                    joPamam.Add("StartDate", begndate);
+                    joPamam.Add("EndDate", enddate);
+                    joPamam.Add("ChargeItemLevel", chrgitm_lv);
+                    joPamam.Add("ListType", list_type);
+                    joPamam.Add("ChargeItemType", med_chrgitm_type);
+
+                    JObject joUpdateRtn = mIS.UpdateDirectoryBySelf(joPamam);
+                    string error = "";
+                    if (JsonHelper.parseIrisRtnValue(joUpdateRtn, out error) != 0)
+                    {
+                        err = "修改失败:" + error;
+                        return -1;
+                    }
+                    else
+                    {
+                        err = "修改成功";
+                        return 0;
+                    }
+                }
+                else
+                {
+                    err = "中心返回符合条数的记录不唯一或者为空,请检查!";
+                    return -1;
+                }
+            }
+            else
+            {
+                err = "查询中心数据出错,请检查!";
+                return -1;
+            }
+        }
+
+        //更新目录信息(附属信息)
+        private int updateCellingPrice(JObject jo, out string err)
+        {
+            err = "";
+            tbDirectoryCode.Text = JsonHelper.getDestValue(jo, "code");
+            string funNO;
+            dynamic joData = GetInput(18, out funNO);
+            JObject joRtn = cBus.InvokeMedicalInsuranceInquiry(funNO, joData);
+
+            if (joRtn["infcode"].ToString() == "0")
+            {
+                DataTable dtAuxInfo = (DataTable)joRtn["output"]["data"].ToObject(typeof(DataTable));
+
+                DateTime dtToday = DateTime.Today;
+                string cellingPrice = "";
+                string begndate = "";
+                string enddate = "";
+
+
+                int iAdpater = 0;
+
+                foreach (DataRow dr in dtAuxInfo.Rows)
+                {
+                    DateTime dtBegin = getDataRowValue(dr, "begndate") == "" ? Convert.ToDateTime("2000-01-01 00:00:00") : Convert.ToDateTime(getDataRowValue(dr, "begndate"));
+                    DateTime dtEnd = getDataRowValue(dr, "enddate") == "" ? Convert.ToDateTime("2099-01-01 00:00:00") : Convert.ToDateTime(getDataRowValue(dr, "enddate"));
+
+                    if ((dtBegin < dtToday) && (dtToday < dtEnd))
+                    {
+                        iAdpater++;
+                        cellingPrice = dr["hilist_pric_uplmt_amt"].ToString();
+                        begndate = dtBegin.ToString("yyyy-MM-dd HH:mm:ss");
+                        enddate = dtEnd.ToString("yyyy-MM-dd HH:mm:ss");
+
+                    }
+                }
+
+                //有且只能有一条数据符合
+                if (iAdpater == 1)
+                {
+                    JObject joPamam = new JObject();
+                    joPamam.Add("Code", JsonHelper.getDestValue(jo, "code"));
+                    joPamam.Add("HisType", JsonHelper.getDestValue(jo, "HisType"));
+                    joPamam.Add("StartDate", begndate);
+                    joPamam.Add("EndDate", enddate);
+                    joPamam.Add("CeilingPrice", cellingPrice);
+
+
+                    JObject joUpdateRtn = mIS.UpdateDirectoryBySelf(joPamam);
+                    string error = "";
+                    if (JsonHelper.parseIrisRtnValue(joUpdateRtn, out error) != 0)
+                    {
+                        err = "修改失败:" + error;
+                        return -1;
+                    }
+                    else
+                    {
+                        err = "修改成功";
+                        return 0;
+                    }
+                }
+                else
+                {
+                    err = "中心返回符合条数的记录不唯一或者为空,请检查!";
+                    return -1;
+                }
+            }
+            else
+            {
+                err = "查询中心数据出错,请检查!";
+                return -1;
+            }
+        }
+
+        private void btTripMenu_Click(object sender, EventArgs e)
+        {
+            uiContextMenuStrip1.Show(((Sunny.UI.UIButton)sender), new Point(0, btTripMenu.Height));
+        }
+
+
+
+
+
+        private void tsmiUpdateCellingPrice_Click(object sender, EventArgs e)
+        {
+            string error;
+            int iDir = dgvDirectoy.CurrentRow.Index;
+            if (dgvDirectoy.CurrentRow == null)
+            {
+                MessageBox.Show("请查询中心目录");
+                return;
+            }
+            JObject jo = new JObject();
+            jo.Add("code", dgvDirectoy.Rows[iDir].Cells["code"].Value.ToString());
+            jo.Add("HisType", rbgDirecType.SelectedIndex + 1);
+            if (updateCellingPrice(jo, out error) != 0)
+            {
+                MessageBox.Show(error);
+            }
+            else
+            {
+                MessageBox.Show(error);
+            }
+        }
+
+        private void tsmiSingleUpdateAuxInfo_Click(object sender, EventArgs e)
+        {
+            string error;
+            int iDir = dgvDirectoy.CurrentRow.Index;
+            if (dgvDirectoy.CurrentRow == null)
+            {
+                MessageBox.Show("请查询中心目录");
+                return;
+            }
+            JObject jo = new JObject();
+            jo.Add("code", dgvDirectoy.Rows[iDir].Cells["code"].Value.ToString());
+            jo.Add("HisType", rbgDirecType.SelectedIndex + 1);
+            if (updateAuxInfo(jo, out error) != 0)
+            {
+                MessageBox.Show(error);
+            }
+            else
+            {
+                MessageBox.Show(error);
+            }
+        }
+    }
+
+    public class OutParamWrapper
+    {
+        public string Value { get; set; }
     }
-    
 }

文件差异内容过多而无法显示
+ 252 - 310
Forms/BasicData.designer.cs


+ 5 - 5
Forms/BasicData.resx

@@ -117,14 +117,14 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
+  <metadata name="cmsUpdateAuxInfo.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>154, 19</value>
+  </metadata>
   <metadata name="cmsMapping.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>17, 17</value>
   </metadata>
-  <metadata name="cmsUpdateInsuDir.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>310, 17</value>
-  </metadata>
-  <metadata name="cmsUpdateAuxInfo.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>146, 17</value>
+  <metadata name="uiContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>680, 15</value>
   </metadata>
   <metadata name="backgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>499, 17</value>

+ 4 - 4
Forms/PreAndInProcessAnalysisForm.cs

@@ -95,14 +95,14 @@ namespace PTMedicalInsurance.Forms
             int i = dgvVolaItems.CurrentRow.Index;
             JObject jo = (JObject)jaVolaItems[i];
             JObject joTmp = new JObject();
-            joTmp.Add("warnRsltId", JsonHelper.getDestValue(jo, "jrId"));
-            joTmp.Add("dspoWay", cbxDspoWay.SelectedIndex);
-            joTmp.Add("dspoWayRea", rtbDspoWayRea.Text);
+            joTmp.Add("warn_rslt_id", JsonHelper.getDestValue(jo, "jrId"));
+            joTmp.Add("dspo_way", cbxDspoWay.SelectedIndex);
+            joTmp.Add("dspo_way_rea", rtbDspoWayRea.Text);
 
             bool isExist = false;
             foreach (JObject joSub in jaWarns)
             {
-                if (joSub["warnRsltId"].ToString() == joTmp["warnRsltId"].ToString())
+                if (joSub["warn_rslt_id"].ToString() == joTmp["warn_rslt_id"].ToString())
                 {
                     isExist = true;
                 }

+ 7 - 0
Helper/JsonHelper.cs

@@ -413,6 +413,13 @@ namespace PTMedicalInsurance.Helper
                 dynamic joInparam = new JObject();
                 joInparam.code = code;
                 dynamic joTmp = new JObject();
+
+                if (code == "09010077")
+                {
+                    joInparam.Add("HospitalDr", Global.inf.hospitalDr);
+                    joInparam.Add("InterfaceDr", Global.inf.interfaceDr);
+                }
+                
                 joInparam.Add("params", jaParams);
                 joInparam.Add("session", Global.curEvt.jaSession);
                 return joInparam;

+ 11 - 20
InsuBusiness.cs

@@ -75,6 +75,11 @@ namespace PTMedicalInsurance
                     //M6C退费只能在PC端退费?
                     Environment.CurrentDirectory = @"D:\HttpServerAPI\bin";
                 }
+
+                if (JsonHelper.getDestValue(joInParam, "operationType") != "")
+                {
+                    Global.operationType = (OperationType)Enum.Parse(typeof(OperationType), JsonHelper.getDestValue(joInParam, "operationType"));
+                }
                 return 0;
             }
             catch (Exception ex)
@@ -840,31 +845,17 @@ namespace PTMedicalInsurance
 
                             #region【门诊预结算2206前调用3102医保明细审核事中服务】                            
                             //1.获取3102入参报文
-                            /*
-                            if (hIS.GetInsuPatInfo("2", Global.pat, out outParam) != 0)
-                            {
-                                rtnResult = JsonHelper.setExceptionJson(-1, "获取3102医保明细审核事中分析服务入参失败:", outParam).ToString();
-                                return rtnResult;
-                            }
-                            else
+
+                            ////事前分析
+                            if ((Global.curEvt.ext.isOpenAnalysis) && (Global.operationType == OperationType.SettlementOP))
                             {
-                                //2.调用医保3102明细审核事前分析服务
-                                JObject joInput = new JObject();
-                                //joInput.Add("data", JObject.Parse(outParam));
-                                joInput = JObject.Parse(outParam);
 
-                                JObject jo3101Rtn = invoker.invokeCenterService("3102", JsonHelper.setCenterInpar("3102", joInput.ToString().Replace("\r\n", "")));
-                                if (JsonHelper.parseCenterRtnValue(jo3101Rtn, out errMsg) != 0)
+                                if (hBus.PreAnalysis("2", "", out errMsg) != 0)
                                 {
-                                    DialogResult dr = MessageBox.Show("【3102】医保明细审核事中分析服务医保中心返回结果:" + errMsg + "!是否继续?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
-                                    if (dr != DialogResult.OK)
-                                    {
-                                        rtnResult = JsonHelper.setExceptionJson(-1, "【3102】医保明细审核事中分析服务调用失败:", errMsg).ToString();
-                                        return rtnResult;
-                                    }
+                                    rtnResult = JsonHelper.setExceptionJson(-1, "【3102】医保明细审核事中分析服务调用失败:", errMsg).ToString();
+                                    return rtnResult;
                                 }
                             }
-                            */
                             #endregion
 
                             #region 门诊预结算[2206]

+ 14 - 0
Variables/Enums.cs

@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace PTMedicalInsurance.Variables
+{
+    public enum OperationType
+    {
+        SettlementOP = 0,
+        RegisterOP = 1
+    }
+}

+ 1 - 0
Variables/Global.cs

@@ -34,6 +34,7 @@ namespace PTMedicalInsurance.Variables
         public static currentEnvironment curEvt;
         public static User user;
         public static string businessType;
+        public static OperationType operationType;
         //写日志 二次封装
         public static void writeLog(string content)
         {

部分文件因为文件数量过多而无法显示