Forráskód Böngészése

事前事中服务接口代码优化

837390164@qq.com 1 hete
szülő
commit
8c5fae4001

+ 188 - 2
Business/HisMainBusiness.cs

@@ -33,6 +33,7 @@ using System.Reflection;
 using System.IO;
 using System.IO.Compression;
 
+
 namespace PTMedicalInsurance.Business
 {
     class HisMainBusiness
@@ -64,7 +65,10 @@ namespace PTMedicalInsurance.Business
             con.url = ini.ReadValue("INSU", "url");
             con.authorization = ini.ReadValue("INSU", "authorization");
         }
-
+     
+        /// <summary>
+        /// 获取事前事中本地配置信息
+        /// </summary>
         public void getLocalConfingue()
         {
             IniFile ini = new IniFile(Global.curEvt.path + @"\INSUConfigure.ini");
@@ -2180,7 +2184,19 @@ namespace PTMedicalInsurance.Business
             {
                 Global.pat.DiseasecCode = JsonHelper.getDestValue(joReg, "data.MainDiagCode");
                 Global.pat.DiseasecName = JsonHelper.getDestValue(joReg, "data.MainDiagName");
-            }                        
+            }
+
+            #region 【事中分析】      
+            if (Global.curEvt.ext.isOpenAnalysis)
+            {
+                string outMsg;
+                if (InProcessAnalysis(out outMsg) != 0)
+                {
+                    outParam = "【3102】医保明细审核事中分析服务调用失败:" + outMsg;
+                    return -1;
+                }
+            }
+            #endregion
 
             //调用服务获取门诊诊断信息
             string diagnoses;
@@ -2320,7 +2336,177 @@ namespace PTMedicalInsurance.Business
             }
         }
 
+        #region【事前事中服务】
+        /// <summary>
+        /// 事前分析
+        /// </summary>
+        /// <param name="outparam"></param>
+        /// <returns></returns>
+        public int PreAnalysis(string trig_scen, string inparam, out string outparam)
+        {
+            outparam = "";
+            try
+            {
+                ////先签到
+                //JObject jo9001Rtn = new JObject();
+                //cBus.signIn(out jo9001Rtn);
+
+                if (trig_scen == "5")
+                {
+                    outparam = inparam;
+                }
+                else
+                {
+                    //获取HIS返回的内容
+                    if (hIS.PreAnalysis(out outparam) != 0)
+                    {
+                        return -1;
+                    }
+                }
+
+                PreAndInProcessAnalysis preAnalysis = new PreAndInProcessAnalysis(outparam);
+                if (preAnalysis.setPatientByHisBaseInfo(out outparam) != 0)
+                {
+                    return -1;
+                }
+                outparam = preAnalysis.Get3101Inpar(trig_scen, Global.pat).ToString();
+                JObject joRtn = invoker.invokeCenterService("3101", JsonHelper.setCenterInpar("3101", outparam));
+                if (JsonHelper.parseCenterRtnValue(joRtn, out outparam) != 0)
+                {
+                    return -1;
+                }
+                else
+                {
+                    JArray jaResult = JArray.Parse(JsonHelper.getDestValue(joRtn, "output.result"));
+                    string HasValues = JsonHelper.getDestValue(joRtn, "output.result[0].HasValues").ToString();
+                    if (jaResult.HasValues)
+                    {
+                        PreAndInProcessAnalysisForm paipaForm = new PreAndInProcessAnalysisForm(joRtn);
+                        if (paipaForm.ShowDialog() == DialogResult.OK)
+                        {
+                            //【3103】事前事中服务反馈服务
+                            if (PreAnalysisFeedBack("3101", paipaForm.JrID, out outparam) != 0)
+                            {
+                                outparam = "【3103】事前事中服务反馈服务" + outparam;
+                                return -1;
+                            }
+                            else
+                            {
+                                return 0;
+                            }
+                        }
+                        else
+                        {
+                            outparam = "事前事中审核不通过,操作员取消!";
+                            return -1;
+                        }
+                    }
+                    else
+                    {
+                        return 0;
+                    }
+
+                    if (HasValues == "")
+                    {
+                        outparam = "事前事中审核服务未返回详细说明!";
+                        return -1;
+                    }
+                }
+
+
+            }
+            catch (Exception ex)
+            {
+                outparam = ex.Message;
+                return -1;
+            }
+        }
+
+        /// <summary>
+        /// 事中分析
+        /// </summary>
+        /// <param name="outparam"></param>
+        /// <returns></returns>
+        public int InProcessAnalysis(out string outparam)
+        {
+            outparam = "";
+            try
+            {
+                //获取HIS返回的内容
+                if (hIS.PreAnalysis(out outparam) != 0)
+                {
+                    return -1;
+                }
 
+                PreAndInProcessAnalysis preAnalysis = new PreAndInProcessAnalysis(outparam);
+                if (preAnalysis.setPatientByHisBaseInfo(out outparam) != 0)
+                {
+                    return -1;
+                }
+                outparam = preAnalysis.Get3101Inpar("5", Global.pat).ToString();
+                JObject joRtn = invoker.invokeCenterService("3102", JsonHelper.setCenterInpar("3102", outparam));
+                return JsonHelper.parseCenterRtnValue(joRtn, out outparam);
+            }
+            catch (Exception ex)
+            {
+                outparam = ex.Message;
+                return -1;
+            }
+            finally
+            {
+                Global.writeLog("InProcessAnalysis", "", outparam);
+            }
+        }
+
+        public int PreAnalysisFeedBack(string funNo, string jrId, out string outparam)
+        {
+            outparam = "";
+            try
+            {
+                outparam = "";
+                string WarnType = "";
+                //【3103】事前事中服务反馈服务
+                if (funNo == "3101")
+                    WarnType = "1";
+                else
+                if (funNo == "3102")
+                    WarnType = "2";
+
+                JObject joInput3103Warns = new JObject();
+                joInput3103Warns.Add("warn_rslt_id", jrId);
+                joInput3103Warns.Add("dspo_way", Global.Set.dspoWay);
+                joInput3103Warns.Add("dspo_way_rea", Global.Set.dspoWayRea);
+
+                JArray ja3103Warns = new JArray();
+                ja3103Warns.Add(joInput3103Warns);
+
+                JObject joInput3103 = new JObject();
+                joInput3103.Add("warn_type", WarnType); //反馈类型 1.事前 2.事中
+                joInput3103.Add("warns", ja3103Warns);
+
+                JObject joInput = new JObject();
+                joInput.Add("data", joInput3103);
+
+                JObject jo3103Rtn = invoker.invokeCenterService("3103", JsonHelper.setCenterInpar("3103", joInput.ToString()));
+                if (JsonHelper.parseCenterRtnValue(jo3103Rtn, out string errMsg) != 0)
+                {
+                    outparam = JsonHelper.setExceptionJson(-1, "【3103】事前事中服务反馈服务调用失败:", errMsg).ToString();
+                    return -1;
+                }
+
+                return 0;
+            }
+            catch (Exception ex)
+            {
+                outparam = ex.Message;
+                return -1;
+            }
+            finally
+            {
+                Global.writeLog("PreAnalysisFeedBack", "", outparam);
+            }
+        }
+        #endregion
 
     }
 }

+ 84 - 1
Business/IrisServices.cs

@@ -895,7 +895,41 @@ namespace PTMedicalInsurance.Business
                 outParam = "GetInsuPatInfo医保事前事中服务报文获取 异常:" + ex.Message;
                 return -1;
             }
-        }        
+        }
+
+        /// <summary>
+        /// 事前分析
+        /// </summary>
+        /// <param name="errMsg"></param>
+        /// <returns></returns>
+        public int PreAnalysis(out string errMsg)
+        {
+            errMsg = "";
+            try
+            {
+                JObject joTmp = new JObject();
+                joTmp.Add("billID", Global.pat.billID);
+                joTmp.Add("recordID", Global.pat.recordID);
+
+                JObject joRtn = invoker.invokeHISService(JsonHelper.setIrisInpar("05110022", joTmp).ToString(), "获取事前分析内容");
+                if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
+                {
+                    errMsg = "获取事前分析内容失败,请联系管理员!" + errMsg;
+                    return -1;
+                }
+                else
+                {
+                    errMsg = joRtn.ToString();
+                    return 0;
+                }
+            }
+            catch (Exception ex)
+            {
+                errMsg = ex.Message;
+                return -1;
+            }
+        }
+
     }
 
     class MIIrisServices
@@ -2547,6 +2581,22 @@ 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 GetMappedHISDir(JArray jaPagination, JArray jaParams)
         {
             try
@@ -3140,5 +3190,38 @@ namespace PTMedicalInsurance.Business
 
         #endregion
 
+        /// <summary>
+        ///  转换事前事中 处方信息集合
+        /// </summary>
+        /// <returns></returns>
+        public int convertFsiOrderDtos(JArray fsiOrderDtos, out string outParam)
+        {
+            outParam = "";
+            string errMsg;
+            try
+            {
+                JObject joTmp = JsonHelper.setIrisInpar("09010077", fsiOrderDtos);
+                joTmp.Add("HospitalDr", Global.inf.hospitalDr);
+                joTmp.Add("InterfaceDr", Global.inf.interfaceDr);
+                JObject joRtn = invoker.invokeInsuService(joTmp.ToString(), "转换事前事中处方信息集合");
+
+                //JObject joRtn = invoker.invokeInsuService(JsonHelper.setIrisInpar("09010077", fsiOrderDtos).ToString(), "转换事前事中处方信息集合");
+                if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
+                {
+                    outParam = errMsg;
+                    return -1;
+                }
+                else
+                {
+                    outParam = joRtn.ToString();
+                    return 0;
+                }
+            }
+            catch (Exception ex)
+            {
+                outParam = "convertHisFeeWithInsuCode 异常:" + ex.Message;
+                return -1;
+            }
+        }
     }
 }

+ 296 - 0
Business/PreAndInProcessAnalysis.cs

@@ -0,0 +1,296 @@
+using Newtonsoft.Json.Linq;
+using PTMedicalInsurance.Helper;
+using PTMedicalInsurance.Variables;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace PTMedicalInsurance.Business
+{
+    class PreAndInProcessAnalysis
+    {
+        private HisIrisServices hIS = new HisIrisServices();
+
+        private JArray patient_dtos; //患者信息集合
+        private JArray fsi_encounter_dtos; //就诊信息集合
+        private JArray fsi_diagnose_dtos;  //诊断信息集合
+        private JArray fsi_order_dtos; //处方信息集合
+        private JArray fsi_operation_dtos; // 手术信息集合
+
+        MIIrisServices mis = new MIIrisServices();
+        public PreAndInProcessAnalysis(string inpar)
+        {
+            try
+            {
+                JObject jo = JObject.Parse(inpar);
+                JObject joResult = JObject.FromObject(jo["result"]);
+                patient_dtos = JArray.FromObject(joResult["patient_dtos"]);
+                fsi_encounter_dtos = JArray.FromObject(patient_dtos[0]["fsi_encounter_dtos"]);
+                fsi_diagnose_dtos = JArray.FromObject(fsi_encounter_dtos[0]["fsi_diagnose_dtos"]);
+                fsi_order_dtos = JArray.FromObject(fsi_encounter_dtos[0]["fsi_order_dtos"]);
+                fsi_operation_dtos = JArray.FromObject(fsi_encounter_dtos[0]["fsi_operation_dtos"]);
+            }
+            catch (Exception ex)
+            {
+                Global.writeLog("PreAndInProcessAnalysis构造异常:" + ex.Message);
+                throw;
+            }
+        }
+        #region 设置Patient
+        public int setPatientByHisBaseInfo(out string msg)
+        {
+            string errMsg = string.Empty;
+            msg = "";
+            try
+            {
+                if (hIS.GetHisPatBaseInfo(out errMsg) != 0)
+                {
+                    msg = errMsg;
+                    return -1;
+                }
+                JObject jo = JObject.Parse(errMsg);
+                Global.pat.name = JsonHelper.getDestValue(jo, "result.patName");
+                Global.pat.brdy = JsonHelper.getDestValue(jo, "result.patBirthdate");
+                Global.pat.gend = JsonHelper.getDestValue(jo, "result.patSex");
+                Global.pat.age = JsonHelper.getDestValue(jo, "result.Age");
+                Global.pat.naty = JsonHelper.getDestValue(jo, "result.naty");
+                Global.pat.certNO = JsonHelper.getDestValue(jo, "result.credNo");
+                Global.pat.certType = JsonHelper.getDestValue(jo, "result.credCode");
+                return 0;
+            }
+            catch (Exception ex)
+            {
+                msg = ex.Message;
+                return -1;
+            }
+        }
+
+        #endregion
+
+        public JObject Get3101Inpar(string trig_scen,Patients p)
+        {
+            try
+            {
+                JArray ruleIds = new JArray();
+                JObject joInpar = new JObject();
+                joInpar.Add("syscode", "ims");
+                joInpar.Add("patient_dtos", GetPatient_dtos(trig_scen, p));
+                joInpar.Add("rule_ids", ruleIds);
+                joInpar.Add("task_id", GetMsgID());
+                joInpar.Add("trig_scen", trig_scen);
+                JObject joData = new JObject();
+                joData.Add("data",joInpar);
+                return joData;
+            }
+            catch (Exception ex)
+            {
+                MessageBox.Show("Get3101Inpar:" + ex.Message);
+                return null;
+            }
+        }
+
+        private string GetMsgID()
+        {
+            return Global.inf.hospitalNO + DateTime.Now.ToString("yyyyMMddHHmmssffff");
+        }
+
+        public JArray GetPatient_dtos(string trig_scen, Patients p)
+        {
+            try
+            {
+                string curr_mdtrt_id = p.mdtrtID;
+                if (string.IsNullOrEmpty(curr_mdtrt_id))
+                {
+                    curr_mdtrt_id = Global.pat.adm_Dr.ToString();
+                }
+                JObject joInpar = new JObject();
+                joInpar.Add("patn_id", p.psn_no);
+                joInpar.Add("patn_name", p.name);
+                string gend = p.gend;
+                if (gend == "男") gend = "1";
+                if (gend == "女") gend = "2";
+                joInpar.Add("gend", gend);
+                joInpar.Add("brdy", p.brdy);
+                if (string.IsNullOrEmpty(p.insuplc_admdvs)) p.insuplc_admdvs = Global.pat.insuplc_admdvs;
+                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());
+                JArray ja = new JArray();
+                ja.Add(joInpar);
+                return ja;
+            }
+            catch (Exception ex)
+            {
+                MessageBox.Show("GetPatient_dtos:" + ex.Message);
+                return null;
+            }
+        }
+
+        public JArray GetFsi_encounter_dtos(string trig_scen, Patients p)
+        {
+            try
+            {
+                JObject jofsi_encounter_dtos = JObject.FromObject(fsi_encounter_dtos[0]);
+                JObject joInpar = new JObject();
+                string mdtrtID = p.mdtrtID;
+                if (string.IsNullOrEmpty(mdtrtID)) mdtrtID = Global.pat.adm_Dr.ToString();
+                joInpar.Add("mdtrt_id", mdtrtID);  //就诊标识
+                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_lv", "03");  //医疗机构等级
+                joInpar.Add("wardarea_codg", JsonHelper.getDestValue(jofsi_encounter_dtos, "wardarea_codg"));  //病区标识
+                joInpar.Add("wardno", JsonHelper.getDestValue(jofsi_encounter_dtos, "wardno"));  //病房号
+                joInpar.Add("bedno", JsonHelper.getDestValue(jofsi_encounter_dtos, "bedno"));  //病床号
+                joInpar.Add("adm_date", JsonHelper.getDestValue(jofsi_encounter_dtos, "adm_date"));  //入院日期
+                joInpar.Add("dscg_date", JsonHelper.getDestValue(jofsi_encounter_dtos, "dscg_date"));  //出院日期
+                joInpar.Add("dscg_main_dise_codg", JsonHelper.getDestValue(jofsi_encounter_dtos, "dscg_main_dise_codg"));  //主诊断编码
+                joInpar.Add("dscg_main_dise_name", JsonHelper.getDestValue(jofsi_encounter_dtos, "dscg_main_dise_name"));  //主诊断名称
+                joInpar.Add("fsi_diagnose_dtos", GetFsi_diagnose_dtos(trig_scen, p));  //诊断信息DTO
+                joInpar.Add("dr_codg", JsonHelper.getDestValue(jofsi_encounter_dtos, "dr_codg"));  //医师标识
+                joInpar.Add("adm_dept_codg", JsonHelper.getDestValue(jofsi_encounter_dtos, "adm_dept_codg"));  //入院科室标识
+                joInpar.Add("adm_dept_name", JsonHelper.getDestValue(jofsi_encounter_dtos, "adm_dept_name"));  //入院科室名称
+                joInpar.Add("dscg_dept_codg", JsonHelper.getDestValue(jofsi_encounter_dtos, "dscg_dept_codg"));  //出院科室标识
+                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");
+                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");
+                if (string.IsNullOrEmpty(matn_stas)) matn_stas = "0";
+                joInpar.Add("matn_stas", matn_stas);  //生育状态
+                joInpar.Add("medfee_sumamt", JsonHelper.getDestValue(jofsi_encounter_dtos, "medfee_sumamt"));  //总费用
+                joInpar.Add("ownpay_amt", JsonHelper.getDestValue(jofsi_encounter_dtos, "ownpay_amt"));  //自费金额
+                joInpar.Add("selfpay_amt", JsonHelper.getDestValue(jofsi_encounter_dtos, "selfpay_amt"));  //自付金额
+                joInpar.Add("acct_payamt", JsonHelper.getDestValue(jofsi_encounter_dtos, "acct_payamt"));  //个人账户支付金额
+                joInpar.Add("ma_amt", JsonHelper.getDestValue(jofsi_encounter_dtos, "ma_amt"));  //救助金支付金额
+                joInpar.Add("hifp_payamt", JsonHelper.getDestValue(jofsi_encounter_dtos, "hifp_payamt"));  //统筹金支付金额
+                joInpar.Add("setl_totlnum", JsonHelper.getDestValue(jofsi_encounter_dtos, "setl_totlnum"));  //结算总次数
+                string insutype = JsonHelper.getDestValue(jofsi_encounter_dtos, "insutype");
+                if (insutype == "") insutype = Global.pat.insuType;
+                joInpar.Add("insutype", insutype);  //险种
+                string reimFlag = JsonHelper.getDestValue(jofsi_encounter_dtos, "reim_flag");
+                // 报销标志(必填)
+                if (string.IsNullOrEmpty(reimFlag))
+                {
+                    reimFlag = "1";
+                }
+                joInpar.Add("reim_flag", reimFlag);
+                // 异地结算标志(必填)
+                string outSetlFlag = JsonHelper.getDestValue(jofsi_encounter_dtos, "out_setl_flag");
+                if (string.IsNullOrEmpty(outSetlFlag))
+                {
+                    outSetlFlag = isOtherCity() ? "1" : "0";
+                }
+                joInpar.Add("out_setl_flag", outSetlFlag);
+                joInpar.Add("fsi_operation_dtos", GetFsi__operation__dtos(trig_scen, p));  //手术操作集合
+
+                JArray ja = new JArray();
+                ja.Add(joInpar);
+                return ja;
+            }
+            catch (Exception ex)
+            {
+                MessageBox.Show("GetPatient_dtos:" + ex.Message);
+                return null;
+            }
+        }
+
+        public static bool isOtherCity()
+        {
+            return isOtherCity(getAreaCode());
+        }
+        /// <summary>
+        /// 省内异地
+        /// </summary>
+        /// <returns></returns>
+        public static bool isOtherCity(string areaCode)
+        {
+            if (!string.IsNullOrEmpty(areaCode) && areaCode.Length > 4 && areaCode.Substring(0, 4) != Global.inf.areaCode.Substring(0, 4))
+            {
+                return true;
+            }
+            return false;
+        }
+
+        private static string getAreaCode()
+        {
+            string areaCode = Global.pat.insuplc_admdvs ?? Global.inf.areaCode;
+            if (Global.pat.OtherProv == 1)
+            {
+                areaCode = Global.pat.card.SearchAdmCode;
+            }
+            return areaCode;
+        }
+
+        public JArray GetFsi_diagnose_dtos(string trig_scen, Patients p)
+        {
+            try
+            {
+                return fsi_diagnose_dtos;
+            }
+            catch (Exception ex)
+            {
+                MessageBox.Show("GetPatient_dtos:" + ex.Message);
+                return null;
+            }
+        }
+        
+
+        public JArray GetFsi__operation__dtos(string trig_scen, Patients p)
+        {
+            try
+            {
+                return fsi_operation_dtos;
+            }
+            catch (Exception ex)
+            {
+                MessageBox.Show("GetPatient_dtos:" + ex.Message);
+                return null;
+            }
+        }
+
+        #region 组织入参
+        public JArray GetFsi_order_dtos(string trig_scen, Patients p)
+        {
+            string errMsg = "";
+            try
+            {
+                for (int i = 0; i < fsi_order_dtos.Count; i++)
+                {
+                    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");
+
+                    if (fsi_order_dtos[i]["drord_bhvr"].ToString() == "2")
+                    { fsi_order_dtos[i]["drord_bhvr"] = "0"; }
+                }
+                //调用医保平台进行转换
+                if (mis.convertFsiOrderDtos(fsi_order_dtos, out errMsg) != 0)
+                {
+                    MessageBox.Show(errMsg);
+                    return null;
+                }
+                else
+                {
+                    JObject joRtn = JObject.Parse(errMsg);
+                    return JArray.FromObject(joRtn["data"]);
+                }
+
+            }
+            catch (Exception ex)
+            {
+                MessageBox.Show("GetFsi__order_dtos:" + ex.Message);
+                return null;
+            }
+        }
+        #endregion
+    }
+
+
+}

+ 483 - 60
Forms/BasicData.cs

@@ -21,6 +21,11 @@ namespace PTMedicalInsurance.Forms
 {
     public partial class BasicData : Form
     {
+        public class OutParamWrapper
+        {
+            public string Value { get; set; }
+        }
+
         //设置实例
         CenterBusiness cBus = new CenterBusiness();
         HisMainBusiness hBus = new HisMainBusiness();
@@ -1146,33 +1151,6 @@ namespace PTMedicalInsurance.Forms
                    TextFormatFlags.VerticalCenter | TextFormatFlags.Right);
         }
 
-        private void rbAll_ValueChanged(object sender, bool value)
-        {
-            //if (rbAll.Checked)
-            //{
-            //    btnExport.Visible = false;
-            //    btnQueryHISDirectory_Click(null, new EventArgs());
-            //}
-
-            if (rbAll.Checked) btnExport.Visible = true;
-        }
-
-        private void rbMaped_CheckedChanged(object sender, EventArgs e)
-        {
-            //if (rbMaped.Checked)
-            //{
-            //    string errMsg;
-            //    if (queryHISDirectory(1, 50, out errMsg) != 0)
-            //    {
-            //        MessageBox.Show(errMsg);
-            //        return;
-            //    }
-            //}
-
-            if (rbMaped.Checked) btnExport.Visible = true;
-
-        }
-
         private void btAddDir_Click(object sender, EventArgs e)
         {
             AddSingleDirectory addDirectory = new AddSingleDirectory(rbgDirecType.SelectedIndex);
@@ -1682,10 +1660,22 @@ namespace PTMedicalInsurance.Forms
             btnQueryHISDirectory_Click(null, new EventArgs());
         }
 
-        private void btnExport_Click(object sender, EventArgs e)
+        private void dgvCenterDirectory_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
+        {
+            Rectangle rectangle = new Rectangle(e.RowBounds.Location.X,
+            e.RowBounds.Location.Y,
+            dgvCenterDirectory.RowHeadersWidth - 4,
+            e.RowBounds.Height);
+            TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(),
+            dgvCenterDirectory.RowHeadersDefaultCellStyle.Font,
+            rectangle,
+            dgvCenterDirectory.RowHeadersDefaultCellStyle.ForeColor,
+            TextFormatFlags.VerticalCenter | TextFormatFlags.Right);
+        }
+
+        private void tsmExportMappedDataByLeft_Click(object sender, EventArgs e)
         {
-            //if (rbAll.Checked) return;
-            if (queryHISDirectory(1, 5000, out string errMsg) != 0)
+            if (queryMapeDirectory(1, 3000, out string errMsg) != 0)
             {
                 MessageBox.Show(errMsg);
                 return;
@@ -1693,11 +1683,6 @@ namespace PTMedicalInsurance.Forms
 
             if (dtExport.Rows.Count > 0)
             {
-                string Maped = "";
-                if (rbAll.Checked) Maped = "全部";
-                if (rbMaped.Checked) Maped = "已对照";
-                if (rbNoMaped.Checked) Maped = "未对照";
-
                 string directoryType = string.Empty;
                 switch (rbgDirecType_C.SelectedIndex)
                 {
@@ -1718,47 +1703,485 @@ namespace PTMedicalInsurance.Forms
                         }
                 }
 
-                string LSH = DateTime.Now.ToString("yyyyMMddHHMMss"); //DateTime.Now.ToString("MMddHHmmssffff");
-                string sFliePathName = @"D:\" + LSH +"【"+ directoryType + "】医保目录【"+ Maped + "】信息.xls";
+                string LSH = DateTime.Now.ToString("yyyy-MM-dd"); //DateTime.Now.ToString("MMddHHmmssffff");
+                string sFliePathName = @"D:\" + LSH + "(" + directoryType + ")医保目录已对照信息.xls";
                 string ReturnFileName = ExportToExcel.DataTabletoExcel(dtExport, sFliePathName);
-                if (ReturnFileName != "")
+                if (!string.IsNullOrEmpty(ReturnFileName))
                 {
                     MessageBox.Show("导出成功,文件保存路径:【" + ReturnFileName + "】");
                     System.Diagnostics.Process.Start(ReturnFileName); //打开excel文件                
                 }
                 else
-                {
                     MessageBox.Show("导出失败!");
+            }
+        }
+
+        private void tsmExportNoMappDataByLeft_Click(object sender, EventArgs e)
+        {
+
+            if (queryNoMappDirectory(1, 3000, out string errMsg) != 0)
+            {
+                MessageBox.Show(errMsg);
+                return;
+            }
+
+            if (dtExport.Rows.Count > 0)
+            {
+                string directoryType = string.Empty;
+                switch (rbgDirecType_C.SelectedIndex)
+                {
+                    case 0:
+                        {
+                            directoryType = "药品";
+                            break;
+                        }
+                    case 1:
+                        {
+                            directoryType = "诊疗";
+                            break;
+                        }
+                    case 2:
+                        {
+                            directoryType = "材料";
+                            break;
+                        }
                 }
+
+                string LSH = DateTime.Now.ToString("yyyy-MM-dd"); //DateTime.Now.ToString("MMddHHmmssffff");
+                string sFliePathName = @"D:\" + LSH + "(" + directoryType + ")医保目录未对照信息.xls";
+                string ReturnFileName = ExportToExcel.DataTabletoExcel(dtExport, sFliePathName);
+                if (!string.IsNullOrEmpty(ReturnFileName))
+                {
+                    MessageBox.Show("导出成功,文件保存路径:【" + ReturnFileName + "】");
+                    System.Diagnostics.Process.Start(ReturnFileName); //打开excel文件                
+                }
+                else
+                    MessageBox.Show("导出失败!");
             }
         }
 
-        private void dgvCenterDirectory_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
+        private int queryMapeDirectory(int currentPage, int pageSize, out string errMsg)
         {
-            Rectangle rectangle = new Rectangle(e.RowBounds.Location.X,
-            e.RowBounds.Location.Y,
-            dgvCenterDirectory.RowHeadersWidth - 4,
-            e.RowBounds.Height);
-            TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(),
-            dgvCenterDirectory.RowHeadersDefaultCellStyle.Font,
-            rectangle,
-            dgvCenterDirectory.RowHeadersDefaultCellStyle.ForeColor,
-            TextFormatFlags.VerticalCenter | TextFormatFlags.Right);
+            errMsg = "";
+            string directoryType = string.Empty;
+            switch (rbgDirecType_C.SelectedIndex)
+            {
+                case 0:
+                    {
+                        directoryType = "drugs";
+                        break;
+                    }
+                case 1:
+                    {
+                        directoryType = "diagnosi";
+                        break;
+                    }
+                case 2:
+                    {
+                        directoryType = "consumables";
+                        break;
+                    }
+            }
+
+            JObject joHISRtn = new JObject();
+            JObject joRtn = new JObject();
+            InvokeHelper invoker = new InvokeHelper();
+            string flag = "";
+
+            JArray jaPagination = new JArray();
+            JArray jaParams = new JArray();
+            flag = "Maped";
+            dynamic joParam = new JObject();
+            joParam.alias = tbHISDirectoryFilter.Text;
+            joParam.HospitalDr = Global.inf.hospitalDr;
+            joParam.InterfaceDr = Global.inf.interfaceDr;
+            joParam.hisType = directoryType;
+            jaParams.Add(joParam);
+            dynamic joPagination = new JObject();
+            joPagination.pageSize = 3000;
+            joPagination.currentPage = 1;
+            joPagination.sortColumn = "HisCode";
+            joPagination.sortOrder = "asc";
+            jaPagination.Add(joPagination);
+
+            JObject joMIRtn = mIS.GetMappedHISDir(jaPagination, jaParams);
+
+            if (JsonHelper.parseIrisRtnValue(joMIRtn, out errMsg) != 0)
+            {
+                return -1;
+            }
+
+            //传给HIS,进行匹配
+            joParam = new JObject();
+            joParam.TotalCount = joMIRtn["result"]["TotalCount"];
+            joParam.type = directoryType;
+            joParam.flag = flag;
+            joParam.hospID = Global.inf.hisHospitalDr;
+            joParam.interfaceDr = Global.inf.interfaceDr;
+            joParam.alias = tbHISDirectoryFilter.Text;
+            joParam.include = "Hosp";
+            joParam.groupID = "324";
+            joParam.compareArr = joMIRtn["result"]["Data"];
+            jaParams = new JArray();
+            jaParams.Add(joParam);
+            if (hIS.getHISDir(jaPagination, jaParams, out joRtn, out errMsg) != 0)
+            {
+                return -1;
+            }
+
+            dtExport = (DataTable)joRtn["result"]["Data"].ToObject(typeof(DataTable));
+
+            //if (rbNoMaped.Checked)
+            //    pgHISDirect.PageSize = pageSize;
+            //else
+            //    pgHISDirect.PageSize = 50;
+
+            return 0;
         }
 
-        private void rbNoMaped_CheckedChanged(object sender, EventArgs e)
+        private int queryNoMappDirectory(int currentPage, int pageSize, out string errMsg)
         {
+            errMsg = "";
+            string directoryType = string.Empty;
+            switch (rbgDirecType_C.SelectedIndex)
+            {
+                case 0:
+                    {
+                        directoryType = "drugs";
+                        break;
+                    }
+                case 1:
+                    {
+                        directoryType = "diagnosi";
+                        break;
+                    }
+                case 2:
+                    {
+                        directoryType = "consumables";
+                        break;
+                    }
+            }
+
+            JObject joHISRtn = new JObject();
+            JObject joRtn = new JObject();
+            InvokeHelper invoker = new InvokeHelper();
+            string flag = "";
+
+            JArray jaPagination = new JArray();
+            JArray jaParams = new JArray();
+            flag = "All";
+            dynamic joParam = new JObject();
+            joParam.code = "";
+            joParam.descripts = "";
+            joParam.FindType = new JArray();
+            joParam.TypeID = "";
+            joParam.alias = tbHISDirectoryFilter.Text;
+            joParam.include = "Hosp";
+            joParam.groupID = "324";
+            joParam.hospID = Global.inf.hisHospitalDr;
+            joParam.interfaceDr = Global.inf.interfaceDr;
+            joParam.type = directoryType;
+            joParam.flag = flag;
+            joParam.specInput = "";
+            jaParams.Add(joParam);
+
+            dynamic joPagination = new JObject();
+            joPagination.pageSize = pageSize;
+            //joPagination.pageSize = 2;
+            joPagination.currentPage = currentPage;
+            joPagination.sortColumn = "Code";
+            joPagination.sortOrder = "asc";
+            jaPagination.Add(joPagination);
+
+            //1.获取全部HIS目录
+            if (hIS.getHISDir(jaPagination, jaParams, out joHISRtn, out errMsg) != 0)
+            {
+                return -1;
+            }
+
+            joRtn = mIS.GetNoMappHISDir(joHISRtn);
+            if (JsonHelper.parseIrisRtnValue(joRtn, out errMsg) != 0)
+            {
+                return -1;
+            }
+
+            dtExport = (DataTable)joRtn["result"]["Data"].ToObject(typeof(DataTable));
+
             //if (rbNoMaped.Checked)
-            //{
-            //    string errMsg;
-            //    if (queryHISDirectory(1, 300, out errMsg) != 0)
-            //    {
-            //        MessageBox.Show(errMsg);
-            //        return;
-            //    }
-            //}
-
-            if (rbNoMaped.Checked) btnExport.Visible = true;
+            //    pgHISDirect.PageSize = pageSize;
+            //else
+            //    pgHISDirect.PageSize = 50;
+
+            return 0;
+        }
+
+        private void tsmUploadAllMappedData_Click(object sender, EventArgs e)
+        {
+            AllUpLoad();
+        }
+
+        private void tsmCancelAllUploadedData_Click(object sender, EventArgs e)
+        {
+            AllCancelUpload();
+        }
+
+        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 int updateCellingPrice(JObject jo, out string err)
+        {
+            err = "";
+            tbDirectoryCode.Text = JsonHelper.getDestValue(jo, "code");
+            dynamic joData = GetInput(18, out string 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 = dr["begndate"].ToString();
+                        enddate = dr["enddate"].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("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 int updateAuxInfo(JObject jo, out string err)
+        {
+            err = "";
+            tbDirectoryCode.Text = JsonHelper.getDestValue(jo, "code");
+            dynamic joData = GetInput(15, out string 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 = dr["begndate"].ToString();
+                        enddate = dr["enddate"].ToString();
+                        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;
+            }
+        }     
+
+        public string getDataRowValue(DataRow dr, string columnName)
+        {
+            if (!dr.Table.Columns.Contains(columnName))
+            {
+                return "";
+            }
+            else
+            {
+                return dr[columnName].ToString();
+            }
+        }
+
+        private void tsmUpdateCellPriceOfAllMapped_Click(object sender, EventArgs e)
+        {
+            updateMappedInsuInfo(updateCellPriceWrapper);
+        }
+
+        private void tsmUpdateLevelTypeOfAllMappedData_Click(object sender, EventArgs e)
+        {
+            updateMappedInsuInfo(updateAuxInfoWrapper);
+        }
+
+        private void btTripMenu_Click(object sender, EventArgs e)
+        {
+            tsmExportMappedDataByLeft.Text
+                = "导出【" + rbgDirecType_C.Items[rbgDirecType_C.SelectedIndex].ToString() + "】已对照数据";
+            uiContextMenuStrip1.Show(((Sunny.UI.UIButton)sender), new Point(0, btTripMenu.Height));
+
+            tsmExportNoMappDataByLeft.Text
+                = "导出【" + rbgDirecType_C.Items[rbgDirecType_C.SelectedIndex].ToString() + "】未对照数据";
+            uiContextMenuStrip1.Show(((Sunny.UI.UIButton)sender), new Point(0, btTripMenu.Height));
         }
     }
 }

+ 215 - 162
Forms/BasicData.designer.cs

@@ -28,21 +28,21 @@
         /// </summary>
         private void InitializeComponent()
         {
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle16 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle17 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle18 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle19 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle20 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
             this.tabControl1 = new System.Windows.Forms.TabControl();
             this.tabPage1 = new System.Windows.Forms.TabPage();
             this.panel1 = new System.Windows.Forms.Panel();
@@ -88,9 +88,15 @@
             this.panel3 = new System.Windows.Forms.Panel();
             this.dgvHISDirectory = new Sunny.UI.UIDataGridView();
             this.panel5 = new System.Windows.Forms.Panel();
-            this.btnExport = new Sunny.UI.UIButton();
-            this.btnCancelUpShip = new Sunny.UI.UIButton();
-            this.btnUpShip = new Sunny.UI.UIButton();
+            this.btTripMenu = new Sunny.UI.UIButton();
+            this.uiContextMenuStrip1 = new Sunny.UI.UIContextMenuStrip();
+            this.tsmExportMappedDataByLeft = new System.Windows.Forms.ToolStripMenuItem();
+            this.tsmExportNoMappDataByLeft = new System.Windows.Forms.ToolStripMenuItem();
+            this.tsmUploadAllMappedData = new System.Windows.Forms.ToolStripMenuItem();
+            this.tsmCancelAllUploadedData = new System.Windows.Forms.ToolStripMenuItem();
+            this.tsmUpdateAllMapped = new System.Windows.Forms.ToolStripMenuItem();
+            this.tsmUpdateCellPriceOfAllMapped = new System.Windows.Forms.ToolStripMenuItem();
+            this.tsmUpdateLevelTypeOfAllMappedData = new System.Windows.Forms.ToolStripMenuItem();
             this.uiTextBox1 = new Sunny.UI.UITextBox();
             this.rbAll = new Sunny.UI.UIRadioButton();
             this.rbNoMaped = new Sunny.UI.UIRadioButton();
@@ -136,6 +142,7 @@
             this.panel3.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.dgvHISDirectory)).BeginInit();
             this.panel5.SuspendLayout();
+            this.uiContextMenuStrip1.SuspendLayout();
             this.panel4.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.dgvCenterDirectory)).BeginInit();
             this.panel6.SuspendLayout();
@@ -182,46 +189,46 @@
             // 
             this.dgvDirectoy.AllowUserToAddRows = false;
             this.dgvDirectoy.AllowUserToDeleteRows = false;
-            dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
-            this.dgvDirectoy.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
+            dataGridViewCellStyle6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
+            this.dgvDirectoy.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle6;
             this.dgvDirectoy.BackgroundColor = System.Drawing.Color.White;
             this.dgvDirectoy.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
-            dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
-            dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White;
-            dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
-            dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
-            dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
-            this.dgvDirectoy.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
+            dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
+            dataGridViewCellStyle7.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle7.ForeColor = System.Drawing.Color.White;
+            dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.dgvDirectoy.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle7;
             this.dgvDirectoy.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
             this.dgvDirectoy.ContextMenuStrip = this.cmsUpdateInsuDir;
-            dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
-            dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window;
-            dataGridViewCellStyle3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.ControlText;
-            dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
-            dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
-            dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
-            this.dgvDirectoy.DefaultCellStyle = dataGridViewCellStyle3;
+            dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Window;
+            dataGridViewCellStyle8.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.ControlText;
+            dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+            this.dgvDirectoy.DefaultCellStyle = dataGridViewCellStyle8;
             this.dgvDirectoy.Dock = System.Windows.Forms.DockStyle.Fill;
             this.dgvDirectoy.EnableHeadersVisualStyles = false;
             this.dgvDirectoy.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.dgvDirectoy.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
             this.dgvDirectoy.Location = new System.Drawing.Point(0, 0);
             this.dgvDirectoy.Name = "dgvDirectoy";
-            dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
-            dataGridViewCellStyle4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
-            dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            dataGridViewCellStyle4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
-            dataGridViewCellStyle4.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
-            dataGridViewCellStyle4.SelectionForeColor = System.Drawing.Color.White;
-            dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
-            this.dgvDirectoy.RowHeadersDefaultCellStyle = dataGridViewCellStyle4;
+            dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle9.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
+            dataGridViewCellStyle9.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle9.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+            dataGridViewCellStyle9.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
+            dataGridViewCellStyle9.SelectionForeColor = System.Drawing.Color.White;
+            dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.dgvDirectoy.RowHeadersDefaultCellStyle = dataGridViewCellStyle9;
             this.dgvDirectoy.RowHeadersWidth = 51;
-            dataGridViewCellStyle5.BackColor = System.Drawing.Color.White;
-            dataGridViewCellStyle5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.dgvDirectoy.RowsDefaultCellStyle = dataGridViewCellStyle5;
+            dataGridViewCellStyle10.BackColor = System.Drawing.Color.White;
+            dataGridViewCellStyle10.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dgvDirectoy.RowsDefaultCellStyle = dataGridViewCellStyle10;
             this.dgvDirectoy.RowTemplate.Height = 23;
             this.dgvDirectoy.SelectedIndex = -1;
             this.dgvDirectoy.Size = new System.Drawing.Size(1510, 489);
@@ -450,7 +457,9 @@
             // 
             this.TexBYSJL.AutoSize = true;
             this.TexBYSJL.Cursor = System.Windows.Forms.Cursors.IBeam;
+            this.TexBYSJL.DoubleValue = 50D;
             this.TexBYSJL.Font = new System.Drawing.Font("微软雅黑", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.TexBYSJL.IntValue = 50;
             this.TexBYSJL.Location = new System.Drawing.Point(9, 111);
             this.TexBYSJL.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
             this.TexBYSJL.MinimumSize = new System.Drawing.Size(1, 16);
@@ -458,6 +467,7 @@
             this.TexBYSJL.ShowText = false;
             this.TexBYSJL.Size = new System.Drawing.Size(158, 24);
             this.TexBYSJL.TabIndex = 6;
+            this.TexBYSJL.Text = "50";
             this.TexBYSJL.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
             this.TexBYSJL.Watermark = "本页数据量";
             this.TexBYSJL.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
@@ -466,7 +476,9 @@
             // 
             this.TexDQYS.AutoSize = true;
             this.TexDQYS.Cursor = System.Windows.Forms.Cursors.IBeam;
+            this.TexDQYS.DoubleValue = 1D;
             this.TexDQYS.Font = new System.Drawing.Font("微软雅黑", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.TexDQYS.IntValue = 1;
             this.TexDQYS.Location = new System.Drawing.Point(9, 72);
             this.TexDQYS.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
             this.TexDQYS.MinimumSize = new System.Drawing.Size(1, 16);
@@ -474,6 +486,7 @@
             this.TexDQYS.ShowText = false;
             this.TexDQYS.Size = new System.Drawing.Size(158, 24);
             this.TexDQYS.TabIndex = 5;
+            this.TexDQYS.Text = "1";
             this.TexDQYS.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
             this.TexDQYS.Watermark = "当前页数";
             this.TexDQYS.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
@@ -490,6 +503,7 @@
             this.TexDate.ShowText = false;
             this.TexDate.Size = new System.Drawing.Size(158, 24);
             this.TexDate.TabIndex = 4;
+            this.TexDate.Text = "2021-01-01";
             this.TexDate.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
             this.TexDate.Watermark = "输入日期 2021-01-01";
             this.TexDate.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
@@ -801,47 +815,47 @@
             // 
             this.dgvHISDirectory.AllowUserToAddRows = false;
             this.dgvHISDirectory.AllowUserToDeleteRows = false;
-            dataGridViewCellStyle6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
-            this.dgvHISDirectory.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle6;
+            dataGridViewCellStyle16.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
+            this.dgvHISDirectory.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle16;
             this.dgvHISDirectory.BackgroundColor = System.Drawing.Color.White;
             this.dgvHISDirectory.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
-            dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            dataGridViewCellStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
-            dataGridViewCellStyle7.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            dataGridViewCellStyle7.ForeColor = System.Drawing.Color.White;
-            dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight;
-            dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
-            dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
-            this.dgvHISDirectory.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle7;
+            dataGridViewCellStyle17.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle17.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
+            dataGridViewCellStyle17.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle17.ForeColor = System.Drawing.Color.White;
+            dataGridViewCellStyle17.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle17.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle17.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.dgvHISDirectory.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle17;
             this.dgvHISDirectory.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
             this.dgvHISDirectory.ContextMenuStrip = this.cmsMapping;
-            dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
-            dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Window;
-            dataGridViewCellStyle8.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.ControlText;
-            dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight;
-            dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
-            dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
-            this.dgvHISDirectory.DefaultCellStyle = dataGridViewCellStyle8;
+            dataGridViewCellStyle18.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle18.BackColor = System.Drawing.SystemColors.Window;
+            dataGridViewCellStyle18.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle18.ForeColor = System.Drawing.SystemColors.ControlText;
+            dataGridViewCellStyle18.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle18.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle18.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+            this.dgvHISDirectory.DefaultCellStyle = dataGridViewCellStyle18;
             this.dgvHISDirectory.Dock = System.Windows.Forms.DockStyle.Fill;
             this.dgvHISDirectory.EnableHeadersVisualStyles = false;
             this.dgvHISDirectory.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.dgvHISDirectory.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
             this.dgvHISDirectory.Location = new System.Drawing.Point(0, 45);
             this.dgvHISDirectory.Name = "dgvHISDirectory";
-            dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
-            dataGridViewCellStyle9.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
-            dataGridViewCellStyle9.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            dataGridViewCellStyle9.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
-            dataGridViewCellStyle9.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
-            dataGridViewCellStyle9.SelectionForeColor = System.Drawing.Color.White;
-            dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
-            this.dgvHISDirectory.RowHeadersDefaultCellStyle = dataGridViewCellStyle9;
+            dataGridViewCellStyle19.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle19.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
+            dataGridViewCellStyle19.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle19.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+            dataGridViewCellStyle19.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
+            dataGridViewCellStyle19.SelectionForeColor = System.Drawing.Color.White;
+            dataGridViewCellStyle19.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.dgvHISDirectory.RowHeadersDefaultCellStyle = dataGridViewCellStyle19;
             this.dgvHISDirectory.RowHeadersWidth = 51;
             this.dgvHISDirectory.RowHeight = 25;
-            dataGridViewCellStyle10.BackColor = System.Drawing.Color.White;
-            dataGridViewCellStyle10.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.dgvHISDirectory.RowsDefaultCellStyle = dataGridViewCellStyle10;
+            dataGridViewCellStyle20.BackColor = System.Drawing.Color.White;
+            dataGridViewCellStyle20.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dgvHISDirectory.RowsDefaultCellStyle = dataGridViewCellStyle20;
             this.dgvHISDirectory.RowTemplate.Height = 25;
             this.dgvHISDirectory.SelectedIndex = -1;
             this.dgvHISDirectory.Size = new System.Drawing.Size(1331, 307);
@@ -852,9 +866,7 @@
             // 
             // panel5
             // 
-            this.panel5.Controls.Add(this.btnExport);
-            this.panel5.Controls.Add(this.btnCancelUpShip);
-            this.panel5.Controls.Add(this.btnUpShip);
+            this.panel5.Controls.Add(this.btTripMenu);
             this.panel5.Controls.Add(this.uiTextBox1);
             this.panel5.Controls.Add(this.rbAll);
             this.panel5.Controls.Add(this.rbNoMaped);
@@ -867,52 +879,89 @@
             this.panel5.Size = new System.Drawing.Size(1331, 45);
             this.panel5.TabIndex = 1;
             // 
-            // btnExport
-            // 
-            this.btnExport.Cursor = System.Windows.Forms.Cursors.Hand;
-            this.btnExport.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.btnExport.Location = new System.Drawing.Point(710, 8);
-            this.btnExport.MinimumSize = new System.Drawing.Size(1, 1);
-            this.btnExport.Name = "btnExport";
-            this.btnExport.Size = new System.Drawing.Size(100, 29);
-            this.btnExport.TabIndex = 12;
-            this.btnExport.Text = "导  出";
-            this.btnExport.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.btnExport.Visible = false;
-            this.btnExport.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
-            this.btnExport.Click += new System.EventHandler(this.btnExport_Click);
-            // 
-            // btnCancelUpShip
-            // 
-            this.btnCancelUpShip.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-            this.btnCancelUpShip.Cursor = System.Windows.Forms.Cursors.Hand;
-            this.btnCancelUpShip.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.btnCancelUpShip.Location = new System.Drawing.Point(1182, 8);
-            this.btnCancelUpShip.Margin = new System.Windows.Forms.Padding(2);
-            this.btnCancelUpShip.MinimumSize = new System.Drawing.Size(1, 1);
-            this.btnCancelUpShip.Name = "btnCancelUpShip";
-            this.btnCancelUpShip.Size = new System.Drawing.Size(145, 29);
-            this.btnCancelUpShip.TabIndex = 11;
-            this.btnCancelUpShip.Text = "撤销目录对照上传";
-            this.btnCancelUpShip.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.btnCancelUpShip.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
-            this.btnCancelUpShip.Click += new System.EventHandler(this.btnCancelUpShip_Click);
-            // 
-            // btnUpShip
-            // 
-            this.btnUpShip.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-            this.btnUpShip.Cursor = System.Windows.Forms.Cursors.Hand;
-            this.btnUpShip.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.btnUpShip.Location = new System.Drawing.Point(1069, 8);
-            this.btnUpShip.Margin = new System.Windows.Forms.Padding(2);
-            this.btnUpShip.MinimumSize = new System.Drawing.Size(1, 1);
-            this.btnUpShip.Name = "btnUpShip";
-            this.btnUpShip.Size = new System.Drawing.Size(110, 29);
-            this.btnUpShip.TabIndex = 10;
-            this.btnUpShip.Text = "目录对照上传";
-            this.btnUpShip.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.btnUpShip.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
-            this.btnUpShip.Click += new System.EventHandler(this.btnUpShip_Click);
+            // btTripMenu
+            // 
+            this.btTripMenu.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.btTripMenu.ContextMenuStrip = this.uiContextMenuStrip1;
+            this.btTripMenu.Cursor = System.Windows.Forms.Cursors.Hand;
+            this.btTripMenu.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.btTripMenu.Location = new System.Drawing.Point(1168, 3);
+            this.btTripMenu.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.btTripMenu.MinimumSize = new System.Drawing.Size(2, 2);
+            this.btTripMenu.Name = "btTripMenu";
+            this.btTripMenu.Size = new System.Drawing.Size(156, 37);
+            this.btTripMenu.TabIndex = 15;
+            this.btTripMenu.Text = "集成菜单";
+            this.btTripMenu.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.btTripMenu.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
+            this.btTripMenu.Click += new System.EventHandler(this.btTripMenu_Click);
+            // 
+            // uiContextMenuStrip1
+            // 
+            this.uiContextMenuStrip1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
+            this.uiContextMenuStrip1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.uiContextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.tsmExportMappedDataByLeft,
+            this.tsmExportNoMappDataByLeft,
+            this.tsmUploadAllMappedData,
+            this.tsmCancelAllUploadedData,
+            this.tsmUpdateAllMapped,
+            this.tsmUpdateCellPriceOfAllMapped,
+            this.tsmUpdateLevelTypeOfAllMappedData});
+            this.uiContextMenuStrip1.Name = "uiContextMenuStrip1";
+            this.uiContextMenuStrip1.Size = new System.Drawing.Size(459, 186);
+            this.uiContextMenuStrip1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
+            // 
+            // tsmExportMappedDataByLeft
+            // 
+            this.tsmExportMappedDataByLeft.Name = "tsmExportMappedDataByLeft";
+            this.tsmExportMappedDataByLeft.Size = new System.Drawing.Size(458, 26);
+            this.tsmExportMappedDataByLeft.Text = "按类别导出已对照数据";
+            this.tsmExportMappedDataByLeft.Click += new System.EventHandler(this.tsmExportMappedDataByLeft_Click);
+            // 
+            // tsmExportNoMappDataByLeft
+            // 
+            this.tsmExportNoMappDataByLeft.Name = "tsmExportNoMappDataByLeft";
+            this.tsmExportNoMappDataByLeft.Size = new System.Drawing.Size(458, 26);
+            this.tsmExportNoMappDataByLeft.Text = "按类别导出未对照数据";
+            this.tsmExportNoMappDataByLeft.Click += new System.EventHandler(this.tsmExportNoMappDataByLeft_Click);
+            // 
+            // tsmUploadAllMappedData
+            // 
+            this.tsmUploadAllMappedData.Name = "tsmUploadAllMappedData";
+            this.tsmUploadAllMappedData.Size = new System.Drawing.Size(458, 26);
+            this.tsmUploadAllMappedData.Text = "上传全部对照数据";
+            this.tsmUploadAllMappedData.Click += new System.EventHandler(this.tsmUploadAllMappedData_Click);
+            // 
+            // tsmCancelAllUploadedData
+            // 
+            this.tsmCancelAllUploadedData.Name = "tsmCancelAllUploadedData";
+            this.tsmCancelAllUploadedData.Size = new System.Drawing.Size(458, 26);
+            this.tsmCancelAllUploadedData.Text = "撤销上传所有对照数据";
+            this.tsmCancelAllUploadedData.Click += new System.EventHandler(this.tsmCancelAllUploadedData_Click);
+            // 
+            // tsmUpdateAllMapped
+            // 
+            this.tsmUpdateAllMapped.Name = "tsmUpdateAllMapped";
+            this.tsmUpdateAllMapped.Size = new System.Drawing.Size(458, 26);
+            this.tsmUpdateAllMapped.Text = "更新所有对照数据目录信息(包括限价,类别,等级等)";
+            this.tsmUpdateAllMapped.Click += new System.EventHandler(this.tsmUpdateAllMapped_Click);
+            // 
+            // tsmUpdateCellPriceOfAllMapped
+            // 
+            this.tsmUpdateCellPriceOfAllMapped.Name = "tsmUpdateCellPriceOfAllMapped";
+            this.tsmUpdateCellPriceOfAllMapped.Size = new System.Drawing.Size(458, 26);
+            this.tsmUpdateCellPriceOfAllMapped.Text = "更新所有对照数据的限价信息";
+            this.tsmUpdateCellPriceOfAllMapped.Click += new System.EventHandler(this.tsmUpdateCellPriceOfAllMapped_Click);
+            // 
+            // tsmUpdateLevelTypeOfAllMappedData
+            // 
+            this.tsmUpdateLevelTypeOfAllMappedData.Name = "tsmUpdateLevelTypeOfAllMappedData";
+            this.tsmUpdateLevelTypeOfAllMappedData.Size = new System.Drawing.Size(458, 26);
+            this.tsmUpdateLevelTypeOfAllMappedData.Text = "更新所有对照数据的类别等级信息";
+            this.tsmUpdateLevelTypeOfAllMappedData.Click += new System.EventHandler(this.tsmUpdateLevelTypeOfAllMappedData_Click);
             // 
             // uiTextBox1
             // 
@@ -937,48 +986,45 @@
             this.rbAll.MinimumSize = new System.Drawing.Size(1, 1);
             this.rbAll.Name = "rbAll";
             this.rbAll.Padding = new System.Windows.Forms.Padding(22, 0, 0, 0);
-            this.rbAll.Size = new System.Drawing.Size(63, 23);
+            this.rbAll.Size = new System.Drawing.Size(69, 23);
             this.rbAll.TabIndex = 8;
             this.rbAll.Text = "全部";
             this.rbAll.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
-            this.rbAll.ValueChanged += new Sunny.UI.UIRadioButton.OnValueChanged(this.rbAll_ValueChanged);
             // 
             // rbNoMaped
             // 
             this.rbNoMaped.Cursor = System.Windows.Forms.Cursors.Hand;
             this.rbNoMaped.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.rbNoMaped.Location = new System.Drawing.Point(620, 11);
+            this.rbNoMaped.Location = new System.Drawing.Point(650, 11);
             this.rbNoMaped.MinimumSize = new System.Drawing.Size(1, 1);
             this.rbNoMaped.Name = "rbNoMaped";
             this.rbNoMaped.Padding = new System.Windows.Forms.Padding(22, 0, 0, 0);
-            this.rbNoMaped.Size = new System.Drawing.Size(63, 23);
+            this.rbNoMaped.Size = new System.Drawing.Size(69, 23);
             this.rbNoMaped.TabIndex = 7;
             this.rbNoMaped.Text = "未对照";
             this.rbNoMaped.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
-            this.rbNoMaped.CheckedChanged += new System.EventHandler(this.rbNoMaped_CheckedChanged);
             // 
             // rbMaped
             // 
             this.rbMaped.Cursor = System.Windows.Forms.Cursors.Hand;
             this.rbMaped.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.rbMaped.Location = new System.Drawing.Point(546, 11);
+            this.rbMaped.Location = new System.Drawing.Point(561, 11);
             this.rbMaped.MinimumSize = new System.Drawing.Size(1, 1);
             this.rbMaped.Name = "rbMaped";
             this.rbMaped.Padding = new System.Windows.Forms.Padding(22, 0, 0, 0);
-            this.rbMaped.Size = new System.Drawing.Size(63, 23);
+            this.rbMaped.Size = new System.Drawing.Size(69, 23);
             this.rbMaped.TabIndex = 6;
             this.rbMaped.Text = "已对照";
             this.rbMaped.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
-            this.rbMaped.CheckedChanged += new System.EventHandler(this.rbMaped_CheckedChanged);
             // 
             // btnQueryHISDirectory
             // 
             this.btnQueryHISDirectory.Cursor = System.Windows.Forms.Cursors.Hand;
             this.btnQueryHISDirectory.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.btnQueryHISDirectory.Location = new System.Drawing.Point(10, 8);
+            this.btnQueryHISDirectory.Location = new System.Drawing.Point(11, 3);
             this.btnQueryHISDirectory.MinimumSize = new System.Drawing.Size(1, 1);
             this.btnQueryHISDirectory.Name = "btnQueryHISDirectory";
-            this.btnQueryHISDirectory.Size = new System.Drawing.Size(139, 29);
+            this.btnQueryHISDirectory.Size = new System.Drawing.Size(139, 37);
             this.btnQueryHISDirectory.TabIndex = 5;
             this.btnQueryHISDirectory.Text = "查询HIS目录";
             this.btnQueryHISDirectory.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
@@ -1033,46 +1079,46 @@
             // 
             this.dgvCenterDirectory.AllowUserToAddRows = false;
             this.dgvCenterDirectory.AllowUserToDeleteRows = false;
-            dataGridViewCellStyle11.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
-            this.dgvCenterDirectory.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle11;
+            dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
+            this.dgvCenterDirectory.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
             this.dgvCenterDirectory.BackgroundColor = System.Drawing.Color.White;
             this.dgvCenterDirectory.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
-            dataGridViewCellStyle12.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            dataGridViewCellStyle12.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
-            dataGridViewCellStyle12.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            dataGridViewCellStyle12.ForeColor = System.Drawing.Color.White;
-            dataGridViewCellStyle12.SelectionBackColor = System.Drawing.SystemColors.Highlight;
-            dataGridViewCellStyle12.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
-            dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
-            this.dgvCenterDirectory.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle12;
+            dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
+            dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White;
+            dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.dgvCenterDirectory.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
             this.dgvCenterDirectory.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
-            dataGridViewCellStyle13.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
-            dataGridViewCellStyle13.BackColor = System.Drawing.SystemColors.Window;
-            dataGridViewCellStyle13.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            dataGridViewCellStyle13.ForeColor = System.Drawing.SystemColors.ControlText;
-            dataGridViewCellStyle13.SelectionBackColor = System.Drawing.SystemColors.Highlight;
-            dataGridViewCellStyle13.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
-            dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
-            this.dgvCenterDirectory.DefaultCellStyle = dataGridViewCellStyle13;
+            dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window;
+            dataGridViewCellStyle3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.ControlText;
+            dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+            this.dgvCenterDirectory.DefaultCellStyle = dataGridViewCellStyle3;
             this.dgvCenterDirectory.Dock = System.Windows.Forms.DockStyle.Fill;
             this.dgvCenterDirectory.EnableHeadersVisualStyles = false;
             this.dgvCenterDirectory.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.dgvCenterDirectory.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
             this.dgvCenterDirectory.Location = new System.Drawing.Point(0, 45);
             this.dgvCenterDirectory.Name = "dgvCenterDirectory";
-            dataGridViewCellStyle14.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
-            dataGridViewCellStyle14.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
-            dataGridViewCellStyle14.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            dataGridViewCellStyle14.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
-            dataGridViewCellStyle14.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
-            dataGridViewCellStyle14.SelectionForeColor = System.Drawing.Color.White;
-            dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
-            this.dgvCenterDirectory.RowHeadersDefaultCellStyle = dataGridViewCellStyle14;
+            dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
+            dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+            dataGridViewCellStyle4.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
+            dataGridViewCellStyle4.SelectionForeColor = System.Drawing.Color.White;
+            dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.dgvCenterDirectory.RowHeadersDefaultCellStyle = dataGridViewCellStyle4;
             this.dgvCenterDirectory.RowHeadersWidth = 51;
             this.dgvCenterDirectory.RowHeight = 25;
-            dataGridViewCellStyle15.BackColor = System.Drawing.Color.White;
-            dataGridViewCellStyle15.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.dgvCenterDirectory.RowsDefaultCellStyle = dataGridViewCellStyle15;
+            dataGridViewCellStyle5.BackColor = System.Drawing.Color.White;
+            dataGridViewCellStyle5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dgvCenterDirectory.RowsDefaultCellStyle = dataGridViewCellStyle5;
             this.dgvCenterDirectory.RowTemplate.Height = 25;
             this.dgvCenterDirectory.SelectedIndex = -1;
             this.dgvCenterDirectory.Size = new System.Drawing.Size(1331, 289);
@@ -1328,6 +1374,7 @@
             this.panel3.ResumeLayout(false);
             ((System.ComponentModel.ISupportInitialize)(this.dgvHISDirectory)).EndInit();
             this.panel5.ResumeLayout(false);
+            this.uiContextMenuStrip1.ResumeLayout(false);
             this.panel4.ResumeLayout(false);
             ((System.ComponentModel.ISupportInitialize)(this.dgvCenterDirectory)).EndInit();
             this.panel6.ResumeLayout(false);
@@ -1405,14 +1452,20 @@
         private Sunny.UI.UIButton btnExit;
         private Sunny.UI.UIButton uiButton1;
         private System.ComponentModel.BackgroundWorker backgroundWorker1;
-        private Sunny.UI.UIButton btnCancelUpShip;
-        private Sunny.UI.UIButton btnUpShip;
         private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem_CancelUpload;
         private Sunny.UI.UIRadioButtonGroup rbgDirecType;
         private Sunny.UI.UILabel LabExplain;
         private Sunny.UI.UITextBox tbManufacturer;
         private Sunny.UI.UIButton uiButton2;
-        private Sunny.UI.UIButton btnExport;
+        private Sunny.UI.UIButton btTripMenu;
+        private Sunny.UI.UIContextMenuStrip uiContextMenuStrip1;
+        private System.Windows.Forms.ToolStripMenuItem tsmExportMappedDataByLeft;
+        private System.Windows.Forms.ToolStripMenuItem tsmExportNoMappDataByLeft;
+        private System.Windows.Forms.ToolStripMenuItem tsmUploadAllMappedData;
+        private System.Windows.Forms.ToolStripMenuItem tsmCancelAllUploadedData;
+        private System.Windows.Forms.ToolStripMenuItem tsmUpdateAllMapped;
+        private System.Windows.Forms.ToolStripMenuItem tsmUpdateCellPriceOfAllMapped;
+        private System.Windows.Forms.ToolStripMenuItem tsmUpdateLevelTypeOfAllMappedData;
     }
 }
 

+ 6 - 3
Forms/BasicData.resx

@@ -117,12 +117,15 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <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="cmsMapping.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>17, 17</value>
   </metadata>
+  <metadata name="uiContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>851, 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>

+ 250 - 174
Forms/PreAndInProcessAnalysisForm.Designer.cs

@@ -28,21 +28,26 @@
         /// </summary>
         private void InitializeComponent()
         {
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
             System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
             this.uiPanel1 = new Sunny.UI.UIPanel();
+            this.btnModify = new Sunny.UI.UIButton();
+            this.btn_Continue = new Sunny.UI.UIButton();
             this.btnCancle = new Sunny.UI.UIButton();
-            this.btnOK = new Sunny.UI.UIButton();
             this.uiPanel2 = new Sunny.UI.UIPanel();
+            this.uiGroupBox5 = new Sunny.UI.UIGroupBox();
+            this.rtb_DspoWayRea = new Sunny.UI.UIRichTextBox();
             this.uiGroupBox2 = new Sunny.UI.UIGroupBox();
+            this.dgvVolaDetailDtos = new Sunny.UI.UIDataGridView();
+            this.uiGroupBox1 = new Sunny.UI.UIGroupBox();
             this.tbRuleName = new Sunny.UI.UITextBox();
             this.tbVolaEvid = new Sunny.UI.UITextBox();
             this.tbVolaBhvrType = new Sunny.UI.UITextBox();
@@ -63,89 +68,85 @@
             this.uiLabel3 = new Sunny.UI.UILabel();
             this.uiLabel2 = new Sunny.UI.UILabel();
             this.uiLabel1 = new Sunny.UI.UILabel();
-            this.uiGroupBox1 = new Sunny.UI.UIGroupBox();
+            this.uiGroupBox4 = new Sunny.UI.UIGroupBox();
             this.rbtVolaContent = new Sunny.UI.UIRichTextBox();
             this.uiGroupBox3 = new Sunny.UI.UIGroupBox();
             this.dgvVolaItems = new Sunny.UI.UIDataGridView();
-            this.dgvVolaDetailDtos = new Sunny.UI.UIDataGridView();
             this.uiPanel1.SuspendLayout();
             this.uiPanel2.SuspendLayout();
+            this.uiGroupBox5.SuspendLayout();
             this.uiGroupBox2.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvVolaDetailDtos)).BeginInit();
             this.uiGroupBox1.SuspendLayout();
+            this.uiGroupBox4.SuspendLayout();
             this.uiGroupBox3.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.dgvVolaItems)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.dgvVolaDetailDtos)).BeginInit();
             this.SuspendLayout();
             // 
             // uiPanel1
             // 
+            this.uiPanel1.Controls.Add(this.btnModify);
+            this.uiPanel1.Controls.Add(this.btn_Continue);
             this.uiPanel1.Controls.Add(this.btnCancle);
-            this.uiPanel1.Controls.Add(this.btnOK);
             this.uiPanel1.Dock = System.Windows.Forms.DockStyle.Bottom;
             this.uiPanel1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.uiPanel1.Location = new System.Drawing.Point(0, 538);
+            this.uiPanel1.Location = new System.Drawing.Point(0, 676);
             this.uiPanel1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
             this.uiPanel1.MinimumSize = new System.Drawing.Size(1, 1);
             this.uiPanel1.Name = "uiPanel1";
-            this.uiPanel1.Size = new System.Drawing.Size(1302, 53);
+            this.uiPanel1.Size = new System.Drawing.Size(1258, 65);
             this.uiPanel1.TabIndex = 0;
             this.uiPanel1.Text = null;
             this.uiPanel1.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
             this.uiPanel1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
             // 
+            // btnModify
+            // 
+            this.btnModify.Cursor = System.Windows.Forms.Cursors.Hand;
+            this.btnModify.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.btnModify.Location = new System.Drawing.Point(1137, 6);
+            this.btnModify.MinimumSize = new System.Drawing.Size(1, 1);
+            this.btnModify.Name = "btnModify";
+            this.btnModify.Size = new System.Drawing.Size(114, 53);
+            this.btnModify.TabIndex = 3;
+            this.btnModify.Text = "修改医嘱";
+            this.btnModify.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.btnModify.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
+            this.btnModify.Click += new System.EventHandler(this.btnModify_Click);
+            // 
+            // btn_Continue
+            // 
+            this.btn_Continue.Cursor = System.Windows.Forms.Cursors.Hand;
+            this.btn_Continue.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.btn_Continue.Location = new System.Drawing.Point(1013, 6);
+            this.btn_Continue.MinimumSize = new System.Drawing.Size(1, 1);
+            this.btn_Continue.Name = "btn_Continue";
+            this.btn_Continue.Size = new System.Drawing.Size(114, 53);
+            this.btn_Continue.TabIndex = 2;
+            this.btn_Continue.Text = "继续执行";
+            this.btn_Continue.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.btn_Continue.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
+            this.btn_Continue.Click += new System.EventHandler(this.btn_Continue_Click);
+            // 
             // btnCancle
             // 
-            this.btnCancle.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
             this.btnCancle.Cursor = System.Windows.Forms.Cursors.Hand;
             this.btnCancle.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.btnCancle.Location = new System.Drawing.Point(1045, 3);
+            this.btnCancle.Location = new System.Drawing.Point(8, 6);
             this.btnCancle.MinimumSize = new System.Drawing.Size(1, 1);
             this.btnCancle.Name = "btnCancle";
-            this.btnCancle.Size = new System.Drawing.Size(100, 35);
+            this.btnCancle.Size = new System.Drawing.Size(114, 53);
             this.btnCancle.TabIndex = 1;
             this.btnCancle.Text = "取消";
             this.btnCancle.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.btnCancle.Visible = false;
             this.btnCancle.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
             this.btnCancle.Click += new System.EventHandler(this.btnCancle_Click);
             // 
-            // btnOK
-            // 
-            this.btnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-            this.btnOK.Cursor = System.Windows.Forms.Cursors.Hand;
-            this.btnOK.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.btnOK.Location = new System.Drawing.Point(896, 4);
-            this.btnOK.MinimumSize = new System.Drawing.Size(1, 1);
-            this.btnOK.Name = "btnOK";
-            this.btnOK.Size = new System.Drawing.Size(100, 35);
-            this.btnOK.TabIndex = 0;
-            this.btnOK.Text = "确定";
-            this.btnOK.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.btnOK.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
-            this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
-            // 
             // uiPanel2
             // 
+            this.uiPanel2.Controls.Add(this.uiGroupBox5);
             this.uiPanel2.Controls.Add(this.uiGroupBox2);
-            this.uiPanel2.Controls.Add(this.tbRuleName);
-            this.uiPanel2.Controls.Add(this.tbVolaEvid);
-            this.uiPanel2.Controls.Add(this.tbVolaBhvrType);
-            this.uiPanel2.Controls.Add(this.tbSevDeg);
-            this.uiPanel2.Controls.Add(this.tbVolaAmtStas);
-            this.uiPanel2.Controls.Add(this.tbVolaAmt);
-            this.uiPanel2.Controls.Add(this.tbMdtrdID);
-            this.uiPanel2.Controls.Add(this.tbPatID);
-            this.uiPanel2.Controls.Add(this.tbRuleID);
-            this.uiPanel2.Controls.Add(this.tbJrID);
-            this.uiPanel2.Controls.Add(this.uiLabel6);
-            this.uiPanel2.Controls.Add(this.uiLabel7);
-            this.uiPanel2.Controls.Add(this.uiLabel8);
-            this.uiPanel2.Controls.Add(this.uiLabel9);
-            this.uiPanel2.Controls.Add(this.uiLabel10);
-            this.uiPanel2.Controls.Add(this.uiLabel5);
-            this.uiPanel2.Controls.Add(this.uiLabel4);
-            this.uiPanel2.Controls.Add(this.uiLabel3);
-            this.uiPanel2.Controls.Add(this.uiLabel2);
-            this.uiPanel2.Controls.Add(this.uiLabel1);
             this.uiPanel2.Controls.Add(this.uiGroupBox1);
             this.uiPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
             this.uiPanel2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
@@ -153,41 +154,162 @@
             this.uiPanel2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
             this.uiPanel2.MinimumSize = new System.Drawing.Size(1, 1);
             this.uiPanel2.Name = "uiPanel2";
-            this.uiPanel2.Size = new System.Drawing.Size(1032, 538);
+            this.uiPanel2.Size = new System.Drawing.Size(988, 676);
             this.uiPanel2.TabIndex = 1;
             this.uiPanel2.Text = null;
             this.uiPanel2.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
             this.uiPanel2.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
             // 
+            // uiGroupBox5
+            // 
+            this.uiGroupBox5.Controls.Add(this.rtb_DspoWayRea);
+            this.uiGroupBox5.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.uiGroupBox5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.uiGroupBox5.Location = new System.Drawing.Point(0, 569);
+            this.uiGroupBox5.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+            this.uiGroupBox5.MinimumSize = new System.Drawing.Size(1, 1);
+            this.uiGroupBox5.Name = "uiGroupBox5";
+            this.uiGroupBox5.Padding = new System.Windows.Forms.Padding(0, 24, 0, 0);
+            this.uiGroupBox5.Size = new System.Drawing.Size(988, 107);
+            this.uiGroupBox5.TabIndex = 24;
+            this.uiGroupBox5.Text = "处理原因";
+            this.uiGroupBox5.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
+            this.uiGroupBox5.TitleInterval = 0;
+            this.uiGroupBox5.TitleTop = 8;
+            this.uiGroupBox5.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
+            // 
+            // rtb_DspoWayRea
+            // 
+            this.rtb_DspoWayRea.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.rtb_DspoWayRea.FillColor = System.Drawing.Color.White;
+            this.rtb_DspoWayRea.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.rtb_DspoWayRea.Location = new System.Drawing.Point(0, 24);
+            this.rtb_DspoWayRea.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+            this.rtb_DspoWayRea.MinimumSize = new System.Drawing.Size(1, 1);
+            this.rtb_DspoWayRea.Name = "rtb_DspoWayRea";
+            this.rtb_DspoWayRea.Padding = new System.Windows.Forms.Padding(2);
+            this.rtb_DspoWayRea.ShowText = false;
+            this.rtb_DspoWayRea.Size = new System.Drawing.Size(988, 83);
+            this.rtb_DspoWayRea.TabIndex = 0;
+            this.rtb_DspoWayRea.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
+            this.rtb_DspoWayRea.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
+            // 
             // uiGroupBox2
             // 
             this.uiGroupBox2.Controls.Add(this.dgvVolaDetailDtos);
-            this.uiGroupBox2.Dock = System.Windows.Forms.DockStyle.Bottom;
+            this.uiGroupBox2.Dock = System.Windows.Forms.DockStyle.Top;
             this.uiGroupBox2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.uiGroupBox2.Location = new System.Drawing.Point(0, 383);
+            this.uiGroupBox2.Location = new System.Drawing.Point(0, 389);
             this.uiGroupBox2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
             this.uiGroupBox2.MinimumSize = new System.Drawing.Size(1, 1);
             this.uiGroupBox2.Name = "uiGroupBox2";
             this.uiGroupBox2.Padding = new System.Windows.Forms.Padding(0, 24, 0, 0);
-            this.uiGroupBox2.Size = new System.Drawing.Size(1032, 155);
-            this.uiGroupBox2.TabIndex = 21;
+            this.uiGroupBox2.Size = new System.Drawing.Size(988, 180);
+            this.uiGroupBox2.TabIndex = 23;
             this.uiGroupBox2.Text = "违规明细";
             this.uiGroupBox2.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
             this.uiGroupBox2.TitleInterval = 0;
             this.uiGroupBox2.TitleTop = 8;
             this.uiGroupBox2.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
             // 
+            // dgvVolaDetailDtos
+            // 
+            this.dgvVolaDetailDtos.AllowUserToAddRows = false;
+            dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
+            this.dgvVolaDetailDtos.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
+            this.dgvVolaDetailDtos.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
+            this.dgvVolaDetailDtos.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
+            dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
+            dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White;
+            dataGridViewCellStyle2.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
+            dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.dgvVolaDetailDtos.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
+            this.dgvVolaDetailDtos.ColumnHeadersHeight = 32;
+            this.dgvVolaDetailDtos.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
+            dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle3.BackColor = System.Drawing.Color.White;
+            dataGridViewCellStyle3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+            dataGridViewCellStyle3.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(236)))), ((int)(((byte)(255)))));
+            dataGridViewCellStyle3.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+            dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+            this.dgvVolaDetailDtos.DefaultCellStyle = dataGridViewCellStyle3;
+            this.dgvVolaDetailDtos.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.dgvVolaDetailDtos.EnableHeadersVisualStyles = false;
+            this.dgvVolaDetailDtos.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dgvVolaDetailDtos.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(104)))), ((int)(((byte)(173)))), ((int)(((byte)(255)))));
+            this.dgvVolaDetailDtos.Location = new System.Drawing.Point(0, 24);
+            this.dgvVolaDetailDtos.Name = "dgvVolaDetailDtos";
+            dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
+            dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+            dataGridViewCellStyle4.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
+            dataGridViewCellStyle4.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+            dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.dgvVolaDetailDtos.RowHeadersDefaultCellStyle = dataGridViewCellStyle4;
+            dataGridViewCellStyle5.BackColor = System.Drawing.Color.White;
+            dataGridViewCellStyle5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+            dataGridViewCellStyle5.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(236)))), ((int)(((byte)(255)))));
+            dataGridViewCellStyle5.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+            this.dgvVolaDetailDtos.RowsDefaultCellStyle = dataGridViewCellStyle5;
+            this.dgvVolaDetailDtos.RowTemplate.Height = 23;
+            this.dgvVolaDetailDtos.SelectedIndex = -1;
+            this.dgvVolaDetailDtos.Size = new System.Drawing.Size(988, 156);
+            this.dgvVolaDetailDtos.TabIndex = 1;
+            this.dgvVolaDetailDtos.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
+            // 
+            // uiGroupBox1
+            // 
+            this.uiGroupBox1.Controls.Add(this.tbRuleName);
+            this.uiGroupBox1.Controls.Add(this.tbVolaEvid);
+            this.uiGroupBox1.Controls.Add(this.tbVolaBhvrType);
+            this.uiGroupBox1.Controls.Add(this.tbSevDeg);
+            this.uiGroupBox1.Controls.Add(this.tbVolaAmtStas);
+            this.uiGroupBox1.Controls.Add(this.tbVolaAmt);
+            this.uiGroupBox1.Controls.Add(this.tbMdtrdID);
+            this.uiGroupBox1.Controls.Add(this.tbPatID);
+            this.uiGroupBox1.Controls.Add(this.tbRuleID);
+            this.uiGroupBox1.Controls.Add(this.tbJrID);
+            this.uiGroupBox1.Controls.Add(this.uiLabel6);
+            this.uiGroupBox1.Controls.Add(this.uiLabel7);
+            this.uiGroupBox1.Controls.Add(this.uiLabel8);
+            this.uiGroupBox1.Controls.Add(this.uiLabel9);
+            this.uiGroupBox1.Controls.Add(this.uiLabel10);
+            this.uiGroupBox1.Controls.Add(this.uiLabel5);
+            this.uiGroupBox1.Controls.Add(this.uiLabel4);
+            this.uiGroupBox1.Controls.Add(this.uiLabel3);
+            this.uiGroupBox1.Controls.Add(this.uiLabel2);
+            this.uiGroupBox1.Controls.Add(this.uiLabel1);
+            this.uiGroupBox1.Controls.Add(this.uiGroupBox4);
+            this.uiGroupBox1.Dock = System.Windows.Forms.DockStyle.Top;
+            this.uiGroupBox1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.uiGroupBox1.Location = new System.Drawing.Point(0, 0);
+            this.uiGroupBox1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+            this.uiGroupBox1.MinimumSize = new System.Drawing.Size(1, 1);
+            this.uiGroupBox1.Name = "uiGroupBox1";
+            this.uiGroupBox1.Padding = new System.Windows.Forms.Padding(0, 32, 0, 0);
+            this.uiGroupBox1.Size = new System.Drawing.Size(988, 389);
+            this.uiGroupBox1.TabIndex = 22;
+            this.uiGroupBox1.Text = "违规信息";
+            this.uiGroupBox1.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
+            this.uiGroupBox1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
+            // 
             // tbRuleName
             // 
             this.tbRuleName.Cursor = System.Windows.Forms.Cursors.IBeam;
             this.tbRuleName.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.tbRuleName.Location = new System.Drawing.Point(166, 324);
+            this.tbRuleName.Location = new System.Drawing.Point(164, 345);
             this.tbRuleName.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
             this.tbRuleName.MinimumSize = new System.Drawing.Size(1, 16);
             this.tbRuleName.Name = "tbRuleName";
             this.tbRuleName.ShowText = false;
             this.tbRuleName.Size = new System.Drawing.Size(1123, 24);
-            this.tbRuleName.TabIndex = 20;
+            this.tbRuleName.TabIndex = 41;
             this.tbRuleName.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
             this.tbRuleName.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
             // 
@@ -195,13 +317,13 @@
             // 
             this.tbVolaEvid.Cursor = System.Windows.Forms.Cursors.IBeam;
             this.tbVolaEvid.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.tbVolaEvid.Location = new System.Drawing.Point(166, 289);
+            this.tbVolaEvid.Location = new System.Drawing.Point(164, 310);
             this.tbVolaEvid.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
             this.tbVolaEvid.MinimumSize = new System.Drawing.Size(1, 16);
             this.tbVolaEvid.Name = "tbVolaEvid";
             this.tbVolaEvid.ShowText = false;
             this.tbVolaEvid.Size = new System.Drawing.Size(1123, 24);
-            this.tbVolaEvid.TabIndex = 17;
+            this.tbVolaEvid.TabIndex = 38;
             this.tbVolaEvid.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
             this.tbVolaEvid.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
             // 
@@ -209,13 +331,13 @@
             // 
             this.tbVolaBhvrType.Cursor = System.Windows.Forms.Cursors.IBeam;
             this.tbVolaBhvrType.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.tbVolaBhvrType.Location = new System.Drawing.Point(166, 254);
+            this.tbVolaBhvrType.Location = new System.Drawing.Point(164, 275);
             this.tbVolaBhvrType.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
             this.tbVolaBhvrType.MinimumSize = new System.Drawing.Size(1, 16);
             this.tbVolaBhvrType.Name = "tbVolaBhvrType";
             this.tbVolaBhvrType.ShowText = false;
             this.tbVolaBhvrType.Size = new System.Drawing.Size(321, 24);
-            this.tbVolaBhvrType.TabIndex = 19;
+            this.tbVolaBhvrType.TabIndex = 40;
             this.tbVolaBhvrType.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
             this.tbVolaBhvrType.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
             // 
@@ -223,13 +345,13 @@
             // 
             this.tbSevDeg.Cursor = System.Windows.Forms.Cursors.IBeam;
             this.tbSevDeg.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.tbSevDeg.Location = new System.Drawing.Point(166, 219);
+            this.tbSevDeg.Location = new System.Drawing.Point(164, 240);
             this.tbSevDeg.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
             this.tbSevDeg.MinimumSize = new System.Drawing.Size(1, 16);
             this.tbSevDeg.Name = "tbSevDeg";
             this.tbSevDeg.ShowText = false;
             this.tbSevDeg.Size = new System.Drawing.Size(321, 24);
-            this.tbSevDeg.TabIndex = 18;
+            this.tbSevDeg.TabIndex = 39;
             this.tbSevDeg.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
             this.tbSevDeg.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
             // 
@@ -237,13 +359,13 @@
             // 
             this.tbVolaAmtStas.Cursor = System.Windows.Forms.Cursors.IBeam;
             this.tbVolaAmtStas.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.tbVolaAmtStas.Location = new System.Drawing.Point(166, 184);
+            this.tbVolaAmtStas.Location = new System.Drawing.Point(164, 205);
             this.tbVolaAmtStas.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
             this.tbVolaAmtStas.MinimumSize = new System.Drawing.Size(1, 16);
             this.tbVolaAmtStas.Name = "tbVolaAmtStas";
             this.tbVolaAmtStas.ShowText = false;
             this.tbVolaAmtStas.Size = new System.Drawing.Size(321, 24);
-            this.tbVolaAmtStas.TabIndex = 16;
+            this.tbVolaAmtStas.TabIndex = 37;
             this.tbVolaAmtStas.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
             this.tbVolaAmtStas.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
             // 
@@ -251,13 +373,13 @@
             // 
             this.tbVolaAmt.Cursor = System.Windows.Forms.Cursors.IBeam;
             this.tbVolaAmt.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.tbVolaAmt.Location = new System.Drawing.Point(166, 149);
+            this.tbVolaAmt.Location = new System.Drawing.Point(164, 170);
             this.tbVolaAmt.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
             this.tbVolaAmt.MinimumSize = new System.Drawing.Size(1, 16);
             this.tbVolaAmt.Name = "tbVolaAmt";
             this.tbVolaAmt.ShowText = false;
             this.tbVolaAmt.Size = new System.Drawing.Size(321, 24);
-            this.tbVolaAmt.TabIndex = 15;
+            this.tbVolaAmt.TabIndex = 36;
             this.tbVolaAmt.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
             this.tbVolaAmt.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
             // 
@@ -265,13 +387,13 @@
             // 
             this.tbMdtrdID.Cursor = System.Windows.Forms.Cursors.IBeam;
             this.tbMdtrdID.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.tbMdtrdID.Location = new System.Drawing.Point(166, 114);
+            this.tbMdtrdID.Location = new System.Drawing.Point(164, 135);
             this.tbMdtrdID.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
             this.tbMdtrdID.MinimumSize = new System.Drawing.Size(1, 16);
             this.tbMdtrdID.Name = "tbMdtrdID";
             this.tbMdtrdID.ShowText = false;
             this.tbMdtrdID.Size = new System.Drawing.Size(321, 24);
-            this.tbMdtrdID.TabIndex = 13;
+            this.tbMdtrdID.TabIndex = 34;
             this.tbMdtrdID.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
             this.tbMdtrdID.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
             // 
@@ -279,13 +401,13 @@
             // 
             this.tbPatID.Cursor = System.Windows.Forms.Cursors.IBeam;
             this.tbPatID.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.tbPatID.Location = new System.Drawing.Point(166, 79);
+            this.tbPatID.Location = new System.Drawing.Point(164, 100);
             this.tbPatID.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
             this.tbPatID.MinimumSize = new System.Drawing.Size(1, 16);
             this.tbPatID.Name = "tbPatID";
             this.tbPatID.ShowText = false;
             this.tbPatID.Size = new System.Drawing.Size(321, 24);
-            this.tbPatID.TabIndex = 14;
+            this.tbPatID.TabIndex = 35;
             this.tbPatID.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
             this.tbPatID.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
             // 
@@ -293,13 +415,13 @@
             // 
             this.tbRuleID.Cursor = System.Windows.Forms.Cursors.IBeam;
             this.tbRuleID.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.tbRuleID.Location = new System.Drawing.Point(166, 44);
+            this.tbRuleID.Location = new System.Drawing.Point(164, 65);
             this.tbRuleID.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
             this.tbRuleID.MinimumSize = new System.Drawing.Size(1, 16);
             this.tbRuleID.Name = "tbRuleID";
             this.tbRuleID.ShowText = false;
             this.tbRuleID.Size = new System.Drawing.Size(321, 24);
-            this.tbRuleID.TabIndex = 13;
+            this.tbRuleID.TabIndex = 33;
             this.tbRuleID.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
             this.tbRuleID.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
             // 
@@ -307,23 +429,23 @@
             // 
             this.tbJrID.Cursor = System.Windows.Forms.Cursors.IBeam;
             this.tbJrID.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.tbJrID.Location = new System.Drawing.Point(166, 9);
+            this.tbJrID.Location = new System.Drawing.Point(164, 30);
             this.tbJrID.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
             this.tbJrID.MinimumSize = new System.Drawing.Size(1, 16);
             this.tbJrID.Name = "tbJrID";
             this.tbJrID.ShowText = false;
             this.tbJrID.Size = new System.Drawing.Size(321, 24);
-            this.tbJrID.TabIndex = 12;
+            this.tbJrID.TabIndex = 32;
             this.tbJrID.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
             this.tbJrID.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
             // 
             // uiLabel6
             // 
             this.uiLabel6.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.uiLabel6.Location = new System.Drawing.Point(56, 324);
+            this.uiLabel6.Location = new System.Drawing.Point(54, 345);
             this.uiLabel6.Name = "uiLabel6";
             this.uiLabel6.Size = new System.Drawing.Size(90, 20);
-            this.uiLabel6.TabIndex = 11;
+            this.uiLabel6.TabIndex = 31;
             this.uiLabel6.Text = "规则名称";
             this.uiLabel6.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
             this.uiLabel6.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
@@ -331,10 +453,10 @@
             // uiLabel7
             // 
             this.uiLabel7.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.uiLabel7.Location = new System.Drawing.Point(56, 289);
+            this.uiLabel7.Location = new System.Drawing.Point(54, 310);
             this.uiLabel7.Name = "uiLabel7";
             this.uiLabel7.Size = new System.Drawing.Size(90, 20);
-            this.uiLabel7.TabIndex = 10;
+            this.uiLabel7.TabIndex = 30;
             this.uiLabel7.Text = "违规依据";
             this.uiLabel7.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
             this.uiLabel7.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
@@ -342,10 +464,10 @@
             // uiLabel8
             // 
             this.uiLabel8.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.uiLabel8.Location = new System.Drawing.Point(11, 254);
+            this.uiLabel8.Location = new System.Drawing.Point(9, 275);
             this.uiLabel8.Name = "uiLabel8";
             this.uiLabel8.Size = new System.Drawing.Size(135, 20);
-            this.uiLabel8.TabIndex = 9;
+            this.uiLabel8.TabIndex = 29;
             this.uiLabel8.Text = "违规行为分类";
             this.uiLabel8.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
             this.uiLabel8.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
@@ -353,10 +475,10 @@
             // uiLabel9
             // 
             this.uiLabel9.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.uiLabel9.Location = new System.Drawing.Point(56, 219);
+            this.uiLabel9.Location = new System.Drawing.Point(54, 240);
             this.uiLabel9.Name = "uiLabel9";
             this.uiLabel9.Size = new System.Drawing.Size(90, 20);
-            this.uiLabel9.TabIndex = 8;
+            this.uiLabel9.TabIndex = 28;
             this.uiLabel9.Text = "严重程度";
             this.uiLabel9.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
             this.uiLabel9.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
@@ -364,10 +486,10 @@
             // uiLabel10
             // 
             this.uiLabel10.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.uiLabel10.Location = new System.Drawing.Point(7, 184);
+            this.uiLabel10.Location = new System.Drawing.Point(5, 205);
             this.uiLabel10.Name = "uiLabel10";
             this.uiLabel10.Size = new System.Drawing.Size(139, 20);
-            this.uiLabel10.TabIndex = 7;
+            this.uiLabel10.TabIndex = 27;
             this.uiLabel10.Text = "违规金额计算状态";
             this.uiLabel10.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
             this.uiLabel10.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
@@ -375,10 +497,10 @@
             // uiLabel5
             // 
             this.uiLabel5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.uiLabel5.Location = new System.Drawing.Point(56, 149);
+            this.uiLabel5.Location = new System.Drawing.Point(54, 170);
             this.uiLabel5.Name = "uiLabel5";
             this.uiLabel5.Size = new System.Drawing.Size(90, 20);
-            this.uiLabel5.TabIndex = 6;
+            this.uiLabel5.TabIndex = 26;
             this.uiLabel5.Text = "违规金额";
             this.uiLabel5.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
             this.uiLabel5.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
@@ -386,10 +508,10 @@
             // uiLabel4
             // 
             this.uiLabel4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.uiLabel4.Location = new System.Drawing.Point(56, 114);
+            this.uiLabel4.Location = new System.Drawing.Point(54, 135);
             this.uiLabel4.Name = "uiLabel4";
             this.uiLabel4.Size = new System.Drawing.Size(90, 20);
-            this.uiLabel4.TabIndex = 5;
+            this.uiLabel4.TabIndex = 25;
             this.uiLabel4.Text = "就诊ID";
             this.uiLabel4.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
             this.uiLabel4.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
@@ -397,10 +519,10 @@
             // uiLabel3
             // 
             this.uiLabel3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.uiLabel3.Location = new System.Drawing.Point(56, 79);
+            this.uiLabel3.Location = new System.Drawing.Point(54, 100);
             this.uiLabel3.Name = "uiLabel3";
             this.uiLabel3.Size = new System.Drawing.Size(90, 20);
-            this.uiLabel3.TabIndex = 4;
+            this.uiLabel3.TabIndex = 24;
             this.uiLabel3.Text = "参保人ID";
             this.uiLabel3.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
             this.uiLabel3.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
@@ -408,10 +530,10 @@
             // uiLabel2
             // 
             this.uiLabel2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.uiLabel2.Location = new System.Drawing.Point(56, 44);
+            this.uiLabel2.Location = new System.Drawing.Point(54, 65);
             this.uiLabel2.Name = "uiLabel2";
             this.uiLabel2.Size = new System.Drawing.Size(90, 20);
-            this.uiLabel2.TabIndex = 3;
+            this.uiLabel2.TabIndex = 23;
             this.uiLabel2.Text = "规则ID";
             this.uiLabel2.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
             this.uiLabel2.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
@@ -419,30 +541,30 @@
             // uiLabel1
             // 
             this.uiLabel1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.uiLabel1.Location = new System.Drawing.Point(56, 9);
+            this.uiLabel1.Location = new System.Drawing.Point(54, 30);
             this.uiLabel1.Name = "uiLabel1";
             this.uiLabel1.Size = new System.Drawing.Size(90, 20);
-            this.uiLabel1.TabIndex = 2;
+            this.uiLabel1.TabIndex = 22;
             this.uiLabel1.Text = "违规标识";
             this.uiLabel1.TextAlign = System.Drawing.ContentAlignment.TopRight;
             this.uiLabel1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
             // 
-            // uiGroupBox1
-            // 
-            this.uiGroupBox1.Controls.Add(this.rbtVolaContent);
-            this.uiGroupBox1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.uiGroupBox1.Location = new System.Drawing.Point(526, 5);
-            this.uiGroupBox1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
-            this.uiGroupBox1.MinimumSize = new System.Drawing.Size(1, 1);
-            this.uiGroupBox1.Name = "uiGroupBox1";
-            this.uiGroupBox1.Padding = new System.Windows.Forms.Padding(0, 24, 0, 0);
-            this.uiGroupBox1.Size = new System.Drawing.Size(763, 273);
-            this.uiGroupBox1.TabIndex = 1;
-            this.uiGroupBox1.Text = "违规内容";
-            this.uiGroupBox1.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
-            this.uiGroupBox1.TitleInterval = 0;
-            this.uiGroupBox1.TitleTop = 8;
-            this.uiGroupBox1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
+            // uiGroupBox4
+            // 
+            this.uiGroupBox4.Controls.Add(this.rbtVolaContent);
+            this.uiGroupBox4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.uiGroupBox4.Location = new System.Drawing.Point(524, 26);
+            this.uiGroupBox4.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+            this.uiGroupBox4.MinimumSize = new System.Drawing.Size(1, 1);
+            this.uiGroupBox4.Name = "uiGroupBox4";
+            this.uiGroupBox4.Padding = new System.Windows.Forms.Padding(0, 24, 0, 0);
+            this.uiGroupBox4.Size = new System.Drawing.Size(763, 273);
+            this.uiGroupBox4.TabIndex = 21;
+            this.uiGroupBox4.Text = "违规内容";
+            this.uiGroupBox4.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
+            this.uiGroupBox4.TitleInterval = 0;
+            this.uiGroupBox4.TitleTop = 8;
+            this.uiGroupBox4.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
             // 
             // rbtVolaContent
             // 
@@ -470,7 +592,7 @@
             this.uiGroupBox3.MinimumSize = new System.Drawing.Size(1, 1);
             this.uiGroupBox3.Name = "uiGroupBox3";
             this.uiGroupBox3.Padding = new System.Windows.Forms.Padding(0, 26, 0, 0);
-            this.uiGroupBox3.Size = new System.Drawing.Size(270, 538);
+            this.uiGroupBox3.Size = new System.Drawing.Size(270, 676);
             this.uiGroupBox3.TabIndex = 2;
             this.uiGroupBox3.Text = "违规项目";
             this.uiGroupBox3.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
@@ -525,69 +647,17 @@
             this.dgvVolaItems.RowsDefaultCellStyle = dataGridViewCellStyle10;
             this.dgvVolaItems.RowTemplate.Height = 23;
             this.dgvVolaItems.SelectedIndex = -1;
-            this.dgvVolaItems.Size = new System.Drawing.Size(270, 512);
+            this.dgvVolaItems.Size = new System.Drawing.Size(270, 650);
             this.dgvVolaItems.TabIndex = 0;
             this.dgvVolaItems.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
             this.dgvVolaItems.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvVolaItems_CellContentClick);
             this.dgvVolaItems.SelectionChanged += new System.EventHandler(this.dgvVolaItems_SelectionChanged);
             // 
-            // dgvVolaDetailDtos
-            // 
-            this.dgvVolaDetailDtos.AllowUserToAddRows = false;
-            dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
-            this.dgvVolaDetailDtos.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
-            this.dgvVolaDetailDtos.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
-            this.dgvVolaDetailDtos.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
-            dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
-            dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
-            dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White;
-            dataGridViewCellStyle2.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
-            dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
-            dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
-            this.dgvVolaDetailDtos.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
-            this.dgvVolaDetailDtos.ColumnHeadersHeight = 32;
-            this.dgvVolaDetailDtos.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
-            dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
-            dataGridViewCellStyle3.BackColor = System.Drawing.Color.White;
-            dataGridViewCellStyle3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            dataGridViewCellStyle3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
-            dataGridViewCellStyle3.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(236)))), ((int)(((byte)(255)))));
-            dataGridViewCellStyle3.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
-            dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
-            this.dgvVolaDetailDtos.DefaultCellStyle = dataGridViewCellStyle3;
-            this.dgvVolaDetailDtos.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.dgvVolaDetailDtos.EnableHeadersVisualStyles = false;
-            this.dgvVolaDetailDtos.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.dgvVolaDetailDtos.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(104)))), ((int)(((byte)(173)))), ((int)(((byte)(255)))));
-            this.dgvVolaDetailDtos.Location = new System.Drawing.Point(0, 24);
-            this.dgvVolaDetailDtos.Name = "dgvVolaDetailDtos";
-            dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
-            dataGridViewCellStyle4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
-            dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            dataGridViewCellStyle4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
-            dataGridViewCellStyle4.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
-            dataGridViewCellStyle4.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
-            dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
-            this.dgvVolaDetailDtos.RowHeadersDefaultCellStyle = dataGridViewCellStyle4;
-            dataGridViewCellStyle5.BackColor = System.Drawing.Color.White;
-            dataGridViewCellStyle5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            dataGridViewCellStyle5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
-            dataGridViewCellStyle5.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(236)))), ((int)(((byte)(255)))));
-            dataGridViewCellStyle5.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
-            this.dgvVolaDetailDtos.RowsDefaultCellStyle = dataGridViewCellStyle5;
-            this.dgvVolaDetailDtos.RowTemplate.Height = 23;
-            this.dgvVolaDetailDtos.SelectedIndex = -1;
-            this.dgvVolaDetailDtos.Size = new System.Drawing.Size(1032, 131);
-            this.dgvVolaDetailDtos.TabIndex = 1;
-            this.dgvVolaDetailDtos.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
-            this.dgvVolaDetailDtos.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.uiDataGridView1_CellContentClick);
-            // 
             // PreAndInProcessAnalysisForm
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(1302, 591);
+            this.ClientSize = new System.Drawing.Size(1258, 741);
             this.Controls.Add(this.uiPanel2);
             this.Controls.Add(this.uiGroupBox3);
             this.Controls.Add(this.uiPanel1);
@@ -595,11 +665,13 @@
             this.Text = "事前事中智能审核";
             this.uiPanel1.ResumeLayout(false);
             this.uiPanel2.ResumeLayout(false);
+            this.uiGroupBox5.ResumeLayout(false);
             this.uiGroupBox2.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.dgvVolaDetailDtos)).EndInit();
             this.uiGroupBox1.ResumeLayout(false);
+            this.uiGroupBox4.ResumeLayout(false);
             this.uiGroupBox3.ResumeLayout(false);
             ((System.ComponentModel.ISupportInitialize)(this.dgvVolaItems)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.dgvVolaDetailDtos)).EndInit();
             this.ResumeLayout(false);
 
         }
@@ -608,6 +680,14 @@
 
         private Sunny.UI.UIPanel uiPanel1;
         private Sunny.UI.UIPanel uiPanel2;
+        private Sunny.UI.UIButton btnCancle;
+        private Sunny.UI.UIGroupBox uiGroupBox3;
+        private Sunny.UI.UIDataGridView dgvVolaItems;
+        private Sunny.UI.UIGroupBox uiGroupBox5;
+        private Sunny.UI.UIRichTextBox rtb_DspoWayRea;
+        private Sunny.UI.UIGroupBox uiGroupBox2;
+        private Sunny.UI.UIDataGridView dgvVolaDetailDtos;
+        private Sunny.UI.UIGroupBox uiGroupBox1;
         private Sunny.UI.UITextBox tbRuleName;
         private Sunny.UI.UITextBox tbVolaEvid;
         private Sunny.UI.UITextBox tbVolaBhvrType;
@@ -628,13 +708,9 @@
         private Sunny.UI.UILabel uiLabel3;
         private Sunny.UI.UILabel uiLabel2;
         private Sunny.UI.UILabel uiLabel1;
-        private Sunny.UI.UIGroupBox uiGroupBox1;
+        private Sunny.UI.UIGroupBox uiGroupBox4;
         private Sunny.UI.UIRichTextBox rbtVolaContent;
-        private Sunny.UI.UIGroupBox uiGroupBox2;
-        private Sunny.UI.UIButton btnOK;
-        private Sunny.UI.UIButton btnCancle;
-        private Sunny.UI.UIGroupBox uiGroupBox3;
-        private Sunny.UI.UIDataGridView dgvVolaItems;
-        private Sunny.UI.UIDataGridView dgvVolaDetailDtos;
+        private Sunny.UI.UIButton btnModify;
+        private Sunny.UI.UIButton btn_Continue;
     }
 }

+ 27 - 1
Forms/PreAndInProcessAnalysisForm.cs

@@ -10,6 +10,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 using System.Windows.Forms;
+using PTMedicalInsurance.Variables;
 
 namespace PTMedicalInsurance.Forms
 {
@@ -20,6 +21,8 @@ namespace PTMedicalInsurance.Forms
 
         private GridViewSetter grdSetter = new GridViewSetter();
         private JArray jaVolaItems;
+        public string JrID = "";
+
         public PreAndInProcessAnalysisForm()
         {
             InitializeComponent();
@@ -32,6 +35,7 @@ namespace PTMedicalInsurance.Forms
             dtVolaItems = (DataTable)jo["output"]["result"].ToObject(typeof(DataTable));
             dgvVolaItems.DataSource = dtVolaItems;
             grdSetter.SetHeaderTextOfPAIPAVolaItem(dgvVolaItems);
+
             //tbJrID.Text = JsonHelper.getDestValue(jo, "output.result[0].jr_id");
             //tbRuleID.Text = JsonHelper.getDestValue(jo, "output.result[0].rule_id");
             //tbPatID.Text = JsonHelper.getDestValue(jo, "output.result[0].patn_id");
@@ -42,12 +46,13 @@ namespace PTMedicalInsurance.Forms
             //tbVolaBhvrType.Text = JsonHelper.getDestValue(jo, "output.result[0].vola_bhvr_type");
             //tbVolaEvid.Text = JsonHelper.getDestValue(jo, "output.result[0].vola_evid");
             //tbRuleName.Text = JsonHelper.getDestValue(jo, "output.result[0].rule_name");
-            //rbtVolaContent.Text = JsonHelper.getDestValue(jo, "output.result[0].vola_cont");
+            //rbtVolaContent.Text = JsonHelper.getDestValue(jo, "output.result[0].vola_cont");            
         }
 
         private void showVolaItemContent(JObject jo)
         {
             tbJrID.Text = JsonHelper.getDestValue(jo, "jr_id");
+            JrID = tbJrID.Text;
             tbRuleID.Text = JsonHelper.getDestValue(jo, "rule_id");
             tbPatID.Text = JsonHelper.getDestValue(jo, "patn_id");
             tbMdtrdID.Text = JsonHelper.getDestValue(jo, "mdtrt_id");
@@ -93,5 +98,26 @@ namespace PTMedicalInsurance.Forms
         {
 
         }
+
+        private void btnModify_Click(object sender, EventArgs e)
+        {
+            if (rtb_DspoWayRea.Text == "")
+            {
+                MessageBox.Show("处理方式为修改医嘱时,处理原因必填!");
+                return;
+            }
+
+            Global.Set.dspoWayRea = rtb_DspoWayRea.Text;
+
+            Global.Set.dspoWay = "2";
+            DialogResult = DialogResult.OK;
+        }
+
+        private void btn_Continue_Click(object sender, EventArgs e)
+        {
+            Global.Set.dspoWayRea = "继续执行医嘱";
+            Global.Set.dspoWay = "1";
+            DialogResult = DialogResult.OK;
+        }
     }
 }

+ 10 - 9
GanSuMI.csproj

@@ -165,6 +165,7 @@
     <Compile Include="Business\InsuServices.cs" />
     <Compile Include="Business\IrisServices.cs" />
     <Compile Include="Business\MobilePay.cs" />
+    <Compile Include="Business\PreAndInProcessAnalysis.cs" />
     <Compile Include="Business\STA.cs" />
     <Compile Include="Common\CardReader.cs" />
     <Compile Include="Common\ExPortToExcel.cs" />
@@ -217,6 +218,12 @@
     <Compile Include="Forms\FeeUpload.designer.cs">
       <DependentUpon>FeeUpload.cs</DependentUpon>
     </Compile>
+    <Compile Include="Forms\PreAndInProcessAnalysisForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="Forms\PreAndInProcessAnalysisForm.designer.cs">
+      <DependentUpon>PreAndInProcessAnalysisForm.cs</DependentUpon>
+    </Compile>
     <Compile Include="Forms\SettlementBilllist.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -235,12 +242,6 @@
     <Compile Include="Forms\InformationOfSelfPatients.Designer.cs">
       <DependentUpon>InformationOfSelfPatients.cs</DependentUpon>
     </Compile>
-    <Compile Include="Forms\PreAndInProcessAnalysisForm.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="Forms\PreAndInProcessAnalysisForm.designer.cs">
-      <DependentUpon>PreAndInProcessAnalysisForm.cs</DependentUpon>
-    </Compile>
     <Compile Include="Forms\PrescriptionCirculation.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -390,6 +391,9 @@
     <EmbeddedResource Include="Forms\FeeUpload.resx">
       <DependentUpon>FeeUpload.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="Forms\PreAndInProcessAnalysisForm.resx">
+      <DependentUpon>PreAndInProcessAnalysisForm.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="Forms\SettlementBilllist.resx">
       <DependentUpon>SettlementBilllist.cs</DependentUpon>
     </EmbeddedResource>
@@ -399,9 +403,6 @@
     <EmbeddedResource Include="Forms\InformationOfSelfPatients.resx">
       <DependentUpon>InformationOfSelfPatients.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="Forms\PreAndInProcessAnalysisForm.resx">
-      <DependentUpon>PreAndInProcessAnalysisForm.cs</DependentUpon>
-    </EmbeddedResource>
     <EmbeddedResource Include="Forms\PrescriptionCirculation.resx">
       <DependentUpon>PrescriptionCirculation.cs</DependentUpon>
     </EmbeddedResource>

+ 14 - 143
InsuBusiness.cs

@@ -538,8 +538,6 @@ namespace PTMedicalInsurance
                 hBus.GetFeeHisInfo(businessType, joInParam, out Global.pat);
                 switch (businessType)
                 {
-
-
                     case "M3"://门诊费用上传
                         {
                             break;
@@ -566,41 +564,18 @@ namespace PTMedicalInsurance
                             mIS.deleteFee( out errMsg);
 
                             #region【住院费用上传前调用3101事前服务】
-                            //1.获取3101入参报文           
-                            if (hIS.GetInsuPatInfo("5", Global.pat, out outParam) != 0)
-                            {
-                                rtnResult = JsonHelper.setExceptionJson(-1, "获取3101医保明细审核事前分析服务入参失败:", outParam).ToString();
-                                return rtnResult;
-                            }
-                            else
+                            //1.获取3101入参报文                
+                            //事前分析                           
+                            if (Global.curEvt.ext.isOpenAnalysis)
                             {
-                                //2.调用医保3101明细审核事前分析服务
-                                JObject joInput = new JObject();
-                                joInput = JObject.Parse(outParam);
-                                JObject jo3101Rtn = invoker.invokeCenterService("3101", JsonHelper.setCenterInpar("3101", joInput.ToString().Replace("\r\n", "")));
-                                if (JsonHelper.parseCenterRtnValue(jo3101Rtn, out errMsg) != 0)
+                                if (hBus.PreAnalysis("4", "", out errMsg) != 0)
                                 {
-                                    rtnResult = JsonHelper.setExceptionJson(-1, "【3101】医保明细审核事前分析服务调用失败:", errMsg).ToString();
+                                    rtnResult = JsonHelper.setExceptionJson(-1, "事前分析", errMsg).ToString();
                                     return rtnResult;
                                 }
-                                else
-                                {
-                                    JArray jaResult = JArray.Parse(JsonHelper.getDestValue(jo3101Rtn, "output.result"));
-                                    if (jaResult.HasValues)
-                                    {
-                                        PreAndInProcessAnalysisForm paipaForm = new PreAndInProcessAnalysisForm(jo3101Rtn);
-                                        if (paipaForm.ShowDialog() != DialogResult.OK)
-                                        {
-                                            errMsg = "事前事中审核不通过,操作员取消!";
-                                            rtnResult = JsonHelper.setExceptionJson(-1, "【3101】医保明细审核事前分析服务调用失败:", errMsg).ToString();
-                                            return rtnResult;
-                                        }
-                                    }
-                                }
-                            }
+                            }                                                      
                             #endregion
 
-
                             //开始进行费用传送
                             //调用HIS费用查询信息
                             if (hIS.getHisFee(Global.pat, out outParam) != 0)
@@ -808,45 +783,17 @@ namespace PTMedicalInsurance
                                 return rtnResult;
                             }
 
-                            #region【门诊就诊信息上传成功后调用3101事前服务】                            
-                            //1.获取3101入参报文
+                            #region【门诊就诊信息上传成功后调用3101事前服务】
+                            //事前分析
                             if (Global.curEvt.ext.isOpenAnalysis)
                             {
-                                if (hIS.GetInsuPatInfo("1", Global.pat, out outParam) != 0)
-                                {
-                                    rtnResult = JsonHelper.setExceptionJson(-1, "获取3101医保明细审核事前分析服务入参失败:", outParam).ToString();
-                                    return rtnResult;
-                                }
-                                else
+                                //1.门诊挂号 2.门诊收费登记 3.住院登记 4.住院收费登记 5.住院执行医嘱 6.门诊结算 7.门诊预结算 8.住院结算 9.住院预结算 10.购药划卡
+                                if (hBus.PreAnalysis("1", "", out errMsg) != 0)
                                 {
-                                    //2.调用医保3101明细审核事前分析服务
-                                    JObject joInput = new JObject();
-                                    //joInput.Add("data", JObject.Parse(outParam));
-                                    joInput = JObject.Parse(outParam);
-
-                                    JObject jo3101Rtn = invoker.invokeCenterService("3101", JsonHelper.setCenterInpar("3101", joInput.ToString().Replace("\r\n", ""))); //.Replace(" ", "")
-                                    if (JsonHelper.parseCenterRtnValue(jo3101Rtn, out errMsg) != 0)
-                                    {
-                                        rtnResult = JsonHelper.setExceptionJson(-1, "【3101】医保明细审核事前分析服务调用失败:", errMsg).ToString();
-                                        return rtnResult;
-                                    }
-                                    else
-                                    {
-                                        JArray jaResult = JArray.Parse(JsonHelper.getDestValue(jo3101Rtn, "output.result"));
-                                        if (jaResult.HasValues)
-                                        {
-                                            PreAndInProcessAnalysisForm paipaForm = new PreAndInProcessAnalysisForm(jo3101Rtn);
-                                            if (paipaForm.ShowDialog() != DialogResult.OK)
-                                            {
-                                                errMsg = "事前事中审核不通过,操作员取消!";
-                                                rtnResult = JsonHelper.setExceptionJson(-1, "【3101】医保明细审核事前分析服务调用失败:", errMsg).ToString();
-                                                return rtnResult;
-                                            }
-                                        }
-                                    }
+                                    rtnResult = JsonHelper.setExceptionJson(-1, "门诊就诊信息上传成功后调用3101事前服务失败:", errMsg).ToString();
+                                    //return rtnResult;
                                 }
                             }
-                               
                             #endregion
 
                             //费用上传
@@ -854,48 +801,7 @@ namespace PTMedicalInsurance
                             {
                                 rtnResult = JsonHelper.setExceptionJson(-1, "费用上传", outParam).ToString();
                                 return rtnResult;
-                            }
-
-                            #region【门诊预结算2206前调用3102医保明细审核事中服务】     
-                            if (Global.curEvt.ext.isOpenAnalysis)
-                            {
-                                //1.获取3102入参报文
-                                if (hIS.GetInsuPatInfo("2", Global.pat, out outParam) != 0)
-                                {
-                                    rtnResult = JsonHelper.setExceptionJson(-1, "获取3102医保明细审核事中分析服务入参失败:", outParam).ToString();
-                                    return rtnResult;
-                                }
-                                else
-                                {
-                                    //2.调用医保3102明细审核事前分析服务
-                                    JObject joInput = new JObject();
-                                    //joInput.Add("data", JObject.Parse(outParam));
-                                    joInput = JObject.Parse(outParam);
-
-                                    JObject jo3102Rtn = invoker.invokeCenterService("3102", JsonHelper.setCenterInpar("3102", joInput.ToString().Replace("\r\n", "")));
-                                    if (JsonHelper.parseCenterRtnValue(jo3102Rtn, out errMsg) != 0)
-                                    {
-                                        rtnResult = JsonHelper.setExceptionJson(-1, "【3102】医保明细审核事中分析服务调用失败:", errMsg).ToString();
-                                        return rtnResult;
-                                    }
-                                    else
-                                    {
-                                        JArray jaResult = JArray.Parse(JsonHelper.getDestValue(jo3102Rtn, "output.result"));
-                                        if (jaResult.HasValues)
-                                        {
-                                            PreAndInProcessAnalysisForm paipaForm = new PreAndInProcessAnalysisForm(jo3102Rtn);
-                                            if (paipaForm.ShowDialog() != DialogResult.OK)
-                                            {
-                                                errMsg = "事前事中审核不通过,操作员取消!";
-                                                rtnResult = JsonHelper.setExceptionJson(-1, "【3102】医保明细审核事中分析服务调用失败:", errMsg).ToString();
-                                                return rtnResult;
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-                             
-                            #endregion
+                            }                          
 
                             //调用IRIS获取医保各项金额
                             if (mIS.getSumFee(out outParam) != 0)
@@ -1255,42 +1161,7 @@ namespace PTMedicalInsurance
                                     return rtnResult;
                                 }
                             }
-                            #endregion
-
-                            #region【住院预结算2303前调用3102医保明细审核事中服务】                            
-                            //1.获取3102入参报文
-                            if (hIS.GetInsuPatInfo("9", Global.pat, out outParam) != 0)
-                            {
-                                rtnResult = JsonHelper.setExceptionJson(-1, "获取3102医保明细审核事中分析服务入参失败:", outParam).ToString();
-                                return rtnResult;
-                            }
-                            else
-                            {
-                                //2.调用医保3102明细审核事前分析服务
-                                JObject joInput = new JObject();
-                                joInput = JObject.Parse(outParam);
-                                JObject jo3102Rtn = invoker.invokeCenterService("3102", JsonHelper.setCenterInpar("3102", joInput.ToString().Replace("\r\n", "")));
-                                if (JsonHelper.parseCenterRtnValue(jo3102Rtn, out errMsg) != 0)
-                                {
-                                    rtnResult = JsonHelper.setExceptionJson(-1, "【3102】医保明细审核事中分析服务调用失败:", errMsg).ToString();
-                                    return rtnResult;
-                                }
-                                else
-                                {
-                                    JArray jaResult = JArray.Parse(JsonHelper.getDestValue(jo3102Rtn, "output.result"));
-                                    if (jaResult.HasValues)
-                                    {
-                                        PreAndInProcessAnalysisForm paipaForm = new PreAndInProcessAnalysisForm(jo3102Rtn);
-                                        if (paipaForm.ShowDialog() != DialogResult.OK)
-                                        {
-                                            errMsg = "事前事中审核不通过,操作员取消!";
-                                            rtnResult = JsonHelper.setExceptionJson(-1, "【3102】医保明细审核事中分析服务调用失败:", errMsg).ToString();
-                                            return rtnResult;
-                                        }
-                                    }
-                                }
-                            }
-                            #endregion
+                            #endregion                            
 
                             Global.pat.admType = 2;
                             Global.pat.RYorCY = "2";

+ 3 - 1
Variables/Struct.cs

@@ -123,7 +123,7 @@ namespace PTMedicalInsurance.Variables
         public string psn_insu_stas;
         public string paus_insu_date;
         public string IDType;
-
+        public int OtherProv;
         public string disCode;
         public string disName;
         public string disType;
@@ -218,6 +218,8 @@ namespace PTMedicalInsurance.Variables
         public string clearingOrgan;
         public string acctPay;
         DateTime occurTime;
+        public string dspoWay; //1继续执行 2修改医嘱
+        public string dspoWayRea;
         public int hospitalizationsTimes;
         public int hospitalizationsDays;
         public string hisAdmTime;