| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | 
							- using Newtonsoft.Json.Linq;
 
- using PTMedicalInsurance.Common;
 
- using PTMedicalInsurance.Helper;
 
- using PTMedicalInsurance.Variables;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- namespace PTMedicalInsurance.Business
 
- {
 
-     class LocalMobilePayProcess : AbstractProcess
 
-     {
 
-         public override CallResult Process(JObject input)
 
-         {
 
-             //调用HIS费用查询信息
 
-             if (hIS.getHisFee(Global.pat, out outParam) != 0)
 
-             {
 
-                 return Exception("获取HIS费用", outParam);
 
-             }
 
-             //调用医保平台转换
 
-             JObject joHisFee = JObject.Parse(outParam);
 
-             if (mIS.convertHisFeeWithInsuCode(joHisFee, out outParam) != 0)
 
-             {
 
-                 return Exception("转换HIS费用", outParam);
 
-             }
 
-             JArray jaFeeDetail = JArray.Parse(JsonHelper.getDestValue(JObject.Parse(outParam), "data"));
 
-             jaFeeDetail.ToList().ForEach((fee) =>
 
-             {
 
-                 fee["chrg_bchno"] = Global.pat.adm_Dr.ToString();
 
-                 fee["med_type"] = Global.pat.medType;
 
-             });
 
-             JObject joSettlement = (JObject)input["settlement"];
 
-             joSettlement["medfee_sumamt"] = joHisFee["total"];
 
-             //合并参数
 
-             JObject joInput = new JObject();
 
-             joInput.Add("feedetail", jaFeeDetail);
 
-             joInput = mergeJson(joInput, (JObject)input["patInfo"]);
 
-             joInput = mergeJson(joInput, (JObject)input["data"]);
 
-             joInput = mergeJson(joInput, (JObject)input["mdtrtinfo"]);
 
-             joInput = mergeJson(joInput, joSettlement);
 
-             joInput.Add("diseinfo_list",input["diseinfo"]);
 
-             joInput.Add("feedetail_list", jaFeeDetail);
 
-             outParam = JsonHelper.toJsonString(joInput);
 
-             return Success();
 
-         }
 
-         private JObject mergeJson(JObject source,JObject target)
 
-         {
 
-             source.Merge(target, new JsonMergeSettings
 
-             {
 
-                 MergeArrayHandling = MergeArrayHandling.Union
 
-             });
 
-             return source;
 
-         }
 
-     }
 
- }
 
 
  |