Jsonhelper类

  public static class JsonHelper
        {
            #region json转对象
            /// <summary>
            /// json转对象
            /// </summary>
            /// <param name="JsonText"></param>
            /// <returns></returns>
            public static T JsonToObject<T>(string JsonText) where T : class
            {
                if (string.IsNullOrWhiteSpace(JsonText))
                {
                    return null;
                }
                return JsonConvert.DeserializeObject<T>(JsonText);
            }
            public static List<T> JsonToListObject<T>(string JsonText) where T : class
            {
                if (string.IsNullOrWhiteSpace(JsonText))
                {
                    return null;
                }
                return JsonConvert.DeserializeObject<List<T>>(JsonText);
            }
            #endregion

            #region 对象转json
            /// <summary>
            /// 对象转json
            /// </summary>
            /// <param name="Object"></param>
            /// <returns></returns>
            public static string ObjectToJson(object Object)
            {
                if (Object == null)
                {
                    return null;
                }
                return JsonConvert.SerializeObject(Object);
            }
            #endregion
        }
    }

 上边需要添加nuget  Newtonsoft.Json的v包 下边不需要

  JavaScriptSerializer js = new JavaScriptSerializer();   //实例化一个能够序列化数据的类  0成功 -1失败
   ToJsonMy list = js.Deserialize<ToJsonMy>(str);

 

      public void PostDZFP()
        {
            string SMBH = "913001012";
            #region 赋值
            DataTable dt = DbHelperOra.Query("SELECT (SELECT XINGM FROM GLASS_HUIYXX WHERE HUIYBH=A.HUIYBH) XINGM,A.SHOUKDBH,A.SHISJE JINE,MONEY2CHINESE(A.SHISJE) DXJE,(SELECT XINGM FROM GLASS_USER WHERE BIANH=A.SHOUKR) CAOZY FROM GLASS_SHOUKD A WHERE SHOUKDBH='" + SKDBM + "'").Tables[0];
            DataTable dataitems = DbHelperOra.Query("SELECT A.SHANGPBH SP,B.MINGC MC,B.DANW DW,A.ZHUJ ZJ,A.QIUJ QJ,B.TIAOM TM,B.SPLEIX SPLX,( select LEIXMC from glass_spleix where LEIXBH=B.SPLEIX) SPLXMC,A.SHUL SL,A.DANJ DJ,A.ZHEK ZK,A.ZHEHDJ ZHDJ,A.ZHEHXJ ZHXJ,A.MOLING ML,A.HEJ XJ,(CASE A.ISZS WHEN 0 THEN '否' ELSE '是' END) ISZS,A.BEIZHU BZ FROM GLASS_XIAOSMX A,GLASS_SPXX B WHERE A.SHANGPBH=B.BIANH AND A.XIAOSDBH='" + XSDBH + "'").Tables[0];
            List<auxItemModel> ListauxItemModel = new List<auxItemModel>();
            for (int i = 0; i < dataitems.Rows.Count; i++)
            {
                auxItemModel auxItemModel = new PankuSoft.Model.auxItemModel();
                auxItemModel.auxItemCode = SMBH; //dataitems.Rows[i]["SP"].ToString();
                auxItemModel.auxItemName = dataitems.Rows[i]["MC"].ToString();
                auxItemModel.auxItemRelatedCode = SMBH;//dataitems.Rows[i]["SPLX"].ToString(); ;
                auxItemModel.auxItemRelatedName = dataitems.Rows[i]["SPLXMC"].ToString(); 
                auxItemModel.auxItemQuantity = dataitems.Rows[i]["SL"].ToString();
                auxItemModel.auxItemUnit = dataitems.Rows[i]["DW"].ToString();
                auxItemModel.auxItemStd = dataitems.Rows[i]["DJ"].ToString();
                auxItemModel.auxItemAmount = dataitems.Rows[i]["XJ"].ToString();
                auxItemModel.auxItemRemark = dataitems.Rows[i]["BZ"].ToString();
                ListauxItemModel.Add(auxItemModel);
            }
            List<DZPJCREATEINVOICEITEMS> ListItem = new List<DZPJCREATEINVOICEITEMS>() ;
            DZPJCREATEINVOICEITEMS items = new DZPJCREATEINVOICEITEMS();
            items.itemCode = SMBH;
            items.itemName = "视光门诊";
            items.itemStd = Math.Round((Convert.ToDecimal(dt.Rows[0]["JINE"].ToString())/2),2).ToString();
            items.itemUnit = "";
            items.itemAmount = dataitems.Rows.Count.ToString();
            items.amount = dt.Rows[0]["JINE"].ToString();
            items.note = dataitems.Rows[0]["BZ"].ToString();
            items.auxItem = ListauxItemModel;
            ListItem.Add(items);
            DZPJCREATEINVOICE DZPJKP = new DZPJCREATEINVOICE()
            {
                reqSource = "2",
                placeCode = "",
                patType = "1",
                patNumber = SKDBM,
                email = "",
                phone = "",
                idcardNo = "",
                type = "1",
                payerPartyType = "1",
                payerPartyCode = "",
                payerPartyName = dt.Rows[0]["XINGM"].ToString(),
                payerAcct = "",
                payerOpBk = "",
                payMode = cmb_FKFS.Text == "支付宝" ? "4" : cmb_FKFS.Text == "微信" ? "4" : "1",
                recName = "",
                recOpBk = "",
                recAcct = "",
                totalAmount = dt.Rows[0]["JINE"].ToString(),
                repCreater = dt.Rows[0]["CAOZY"].ToString(),
                checker = dt.Rows[0]["CAOZY"].ToString(),
                mainExt = new object { },
                items = ListItem
            };
            DZPJRequestModel DZPJModel = new DZPJRequestModel()
            {
                method = DZPJ.createInvoice,
                content = JsonHelper.ObjectToJson(DZPJKP),
                operatorCode = Common.userBH,
                operatorName = Common.userMC,
                requestId = DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + SKDBM,
                security = ""
            };
            #endregion
            string PostUrl = ini.IniReadValue("DZFPURL", "ADDRESS");
            var data = JsonHelper.JsonToObject<DZPJResponseModel>(HttpRespost.Post(DZPJModel, PostUrl)) as DZPJResponseModel;
            if (data.code == "0")
            {
                XtraMessageBox.Show("电子票据开具失败,请开先纸质票,然后联系管理员!", "提示");
                if (DialogResult.OK==XtraMessageBox.Show("是否开纸质凭证","提示",MessageBoxButtons.OKCancel))
                {
                    if (cmb_FKFS.Text == "微信支付")
                    {
                        ReportClass.PrintShouKDXP(SKDBM);
                    }
                    if (cmb_FKFS.Text != "医保")
                    {
                        ReportClass.PrintShouKD(SKDBM);
                    }
                }
            }
            else
            {
                var Result = JsonHelper.JsonToObject<DZPJCREATEINVOICERESULT>(data.data.ToString());
                string strSql = $"INSERT INTO DZPJCREATEINVOICERESULT VALUES ('{Result.SERIALNUMBER}','{Result.EINVOICECODE }','{Result.EINVOICENUMBER}','{Result.RANDOMNUMBER}','{Result.ISSUEDATE}','{Result.ISSUETIME}','{Result.BILLPDFADDR}','{Result.BILLPDFURL}','{Result.PLATFORMCHECKURL}','{Result.FILE}','{Result.NOWSTOCK}')";
                int res = DbHelperOra.ExecuteSql(strSql);
                ReportClass.PrintShouKDXPDZPJ(SKDBM);
            }

        }

 

posted @ 2021-10-23 10:17  Sumi-eCrow  阅读(129)  评论(0编辑  收藏  举报