1、处方开单接口数据调整,新增接口调用限制和空数据处理。

2、新增药品单位返回
debug
王绍全 6 days ago
parent b5fd7f20c7
commit 0dd31e262d
  1. 2
      src/main/java/com/ynxbd/common/action/pay/AliPayAction.java
  2. 17
      src/main/java/com/ynxbd/common/action/xk/XKAction.java
  3. 8
      src/main/java/com/ynxbd/common/bean/pay/PayCasebook.java
  4. 4
      src/main/java/com/ynxbd/common/bean/xk/HisRxDrug.java
  5. 22
      src/main/java/com/ynxbd/common/dao/his/HisXKDao.java
  6. 13
      src/main/java/com/ynxbd/wx/utils/DesEncryptHelper.java

@ -73,7 +73,7 @@ public class AliPayAction extends BaseAction {
case IN_HOSP: case IN_HOSP:
boolean isOK = new InHospService().inHospNotify(MerchantEnum.ALI, openid, totalFee, outTradeNo, bankTransNo, payDate, payTime, payInfo); boolean isOK = new InHospService().inHospNotify(MerchantEnum.ALI, openid, totalFee, outTradeNo, bankTransNo, payDate, payTime, payInfo);
log.info("【微信】[住院预交金] 预存{}", (isOK ? "成功" : "失败")); log.info("【支付宝】[住院预交金] 预存{}", (isOK ? "成功" : "失败"));
break; break;
default: default:

@ -4,9 +4,11 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.ynxbd.common.action.base.BaseAction; import com.ynxbd.common.action.base.BaseAction;
import com.ynxbd.common.dao.his.HisXKDao; import com.ynxbd.common.dao.his.HisXKDao;
import com.ynxbd.common.result.JsonResult;
import com.ynxbd.common.result.Result; import com.ynxbd.common.result.Result;
import com.ynxbd.common.result.ResultEnum; import com.ynxbd.common.result.ResultEnum;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.Namespace;
@ -17,7 +19,6 @@ import java.util.List;
@Namespace("/xk") @Namespace("/xk")
public class XKAction extends BaseAction { public class XKAction extends BaseAction {
@Action("getRxDict") @Action("getRxDict")
public Result getRxDict(String callNo, String type) { public Result getRxDict(String callNo, String type) {
if (!"xbd2026".equals(callNo)) { if (!"xbd2026".equals(callNo)) {
@ -32,6 +33,7 @@ public class XKAction extends BaseAction {
return Result.success(dataList); return Result.success(dataList);
} }
@Action("createHisRx") @Action("createHisRx")
public Result createHisRx() { public Result createHisRx() {
JSONObject body = getBody(); JSONObject body = getBody();
@ -49,17 +51,20 @@ public class XKAction extends BaseAction {
String bzName = body.getString("bzName"); String bzName = body.getString("bzName");
JSONArray rxJsonArr = body.getJSONArray("rxJsonArr"); JSONArray rxJsonArr = body.getJSONArray("rxJsonArr");
log.info("[开方] doctCode={}, treatNum={}", doctCode, treatNum); log.info("[开方]doctCode={}, treatNum={}, rxType={}", doctCode, treatNum, rxType);
if (doctCode == null || treatNum == null) { if (ObjectUtils.isEmpty(doctCode) || ObjectUtils.isEmpty(treatNum) || ObjectUtils.isEmpty(rxType)) {
return Result.error(ResultEnum.PARAM_IS_DEFECT); return Result.error(ResultEnum.PARAM_IS_DEFECT);
} }
System.out.println(rxJsonArr); System.out.println(rxJsonArr);
if (rxJsonArr.isEmpty()) {
if (rxJsonArr == null) {
return Result.error(ResultEnum.PARAM_IS_DEFECT); return Result.error(ResultEnum.PARAM_IS_DEFECT);
} }
new HisXKDao().createHisRx(doctCode, treatNum, rxType, diagnose, weight, note, ybAttrib, bzCode, bzName, rxJsonArr);
JsonResult resp = new HisXKDao().createHisRx(doctCode, treatNum, rxType, diagnose, weight, note, ybAttrib, bzCode, bzName, rxJsonArr);
if (!resp.success()) {
return Result.error(resp.getMessage());
}
return Result.success(); return Result.success();
} }

@ -14,28 +14,20 @@ import java.util.Date;
public class PayCasebook extends Order { public class PayCasebook extends Order {
// 住院号 // 住院号
private String treatNum; private String treatNum;
// 申请人姓名 // 申请人姓名
private String patientName; private String patientName;
// 模板ID // 模板ID
private String useToNo; private String useToNo;
// 模板名称 // 模板名称
private String useToName; private String useToName;
// 获取方式:0自提; 1邮寄 // 获取方式:0自提; 1邮寄
private int getWay; private int getWay;
// 地址 // 地址
private String address; private String address;
// 联系电话 (邮寄时的联系电话) // 联系电话 (邮寄时的联系电话)
private String phone; private String phone;
// 病历预约申请id(唯一) // 病历预约申请id(唯一)
private String applyId; private String applyId;
// 申请时间 // 申请时间
private Date applyTime; private Date applyTime;

@ -19,8 +19,8 @@ public class HisRxDrug {
private String productPlace; private String productPlace;
// UnitName 单位名称 // UnitName 单位名称
private String unitName; private String unitName;
// UnitName 最小单位名称 // UnitName 最小单位名称(片、粒)
private String minUnitName; private String unitNameMin;
// Persent 批零比 // Persent 批零比
private Double persent; private Double persent;
// YPJL 药品剂量 // YPJL 药品剂量

@ -2,7 +2,6 @@ package com.ynxbd.common.dao.his;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.google.gson.JsonArray;
import com.ynxbd.common.bean.xk.HisRxAdmRoute; import com.ynxbd.common.bean.xk.HisRxAdmRoute;
import com.ynxbd.common.bean.xk.HisRxDrug; import com.ynxbd.common.bean.xk.HisRxDrug;
import com.ynxbd.common.bean.xk.HisRxPharmDict; import com.ynxbd.common.bean.xk.HisRxPharmDict;
@ -16,7 +15,6 @@ import org.apache.commons.lang3.ObjectUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Set;
@Slf4j @Slf4j
public class HisXKDao { public class HisXKDao {
@ -41,19 +39,33 @@ public class HisXKDao {
} }
public JsonResult createHisRx(String doctCode, String treatNum, String rxType, String diagnose, String weight, String note, String ybAttrib, String bzCode, String bzName, JSONArray rxJsonArr) { public JsonResult createHisRx(String doctCode, String treatNum, String rxType, String diagnose, String weight, String note, String ybAttrib, String bzCode, String bzName, JSONArray rxJsonArr) {
for (int i = 0; i < rxJsonArr.size(); i++) {
JSONObject item = rxJsonArr.getJSONObject(i);
if (item == null) {
continue;
}
String yblb = item.getString("YBLB");
if (ObjectUtils.isEmpty(yblb)) {
item.put("YBLB", "");
}
String yblbName = item.getString("YBLBNAME");
if (ObjectUtils.isEmpty(yblbName)) {
item.put("YBLBNAME", "");
}
}
JsonResult jsonResult = HisFactory.His().getJsonResult(HisEnum.HIS_XK_RX_CREATE, params -> { JsonResult jsonResult = HisFactory.His().getJsonResult(HisEnum.HIS_XK_RX_CREATE, params -> {
params.put("YSCode", doctCode); // 开单医生编码 params.put("YSCode", doctCode); // 开单医生编码
params.put("MZNum", treatNum); // 门诊号 params.put("MZNum", treatNum); // 门诊号
params.put("CFType", rxType); // 处方类型 [1:西药] params.put("CFType", rxType); // 处方类型 [1:西药]
params.put("MZDiagnose", diagnose); // 处方诊断 params.put("MZDiagnose", diagnose); // 处方诊断
params.put("Weight", weight); // 体重 params.put("Weight", weight); // 体重
params.put("Note", note); // 备注 params.put("Note", ObjectUtils.isEmpty(note) ? "" : note); // 备注
params.put("YBAttrib", ybAttrib); // 医保类别 params.put("YBAttrib", ybAttrib); // 医保类别
params.put("BZCode", bzCode); // 病种编码 params.put("BZCode", bzCode); // 病种编码
params.put("BZName", bzName); // 病种名称 params.put("BZName", bzName); // 病种名称
params.put("Jarray", HisFactory.jsonArrayToXml(rxJsonArr)); params.put("Jarray", JsonHelper.toJsonString(rxJsonArr));
}); });
log.info("[开方]返回 resp={}", JsonHelper.toJsonString(jsonResult.getDataMap())); log.info("[开方]返回 resp={}", JsonHelper.toJsonString(jsonResult.getDataMap()));
return null; return jsonResult;
} }
} }

@ -69,10 +69,13 @@ public class DesEncryptHelper {
} }
// public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
// String s = enCode("oeso-t62kkoRwLVVkSkwmmjPfUXk"); String a = deCode("6ADACF5B7F310CC25598CCCD233DB1535D6ED4C5C1ED33EB7FB6EA58AAE4762E08E31B22C5B2C3CEE4C71A276C3162255B686984C447887E2053C9C89917CE7C5213744A91F02D8F948A6236562EC17CFDD2A7F66C501229A15D2957CA0E572FC716999C0E41244AB4132CF1504CC2178F6A7B6D60248C97B0AF59BDCFCF9138DB6DA413DBBA92BFA0A759D3930C4920");
// String a = deCode("2235AE2E1563DF971CBF4C3F2D4DC06F1D0AA3BF5EA65B865C5DF0E0694DF3FFBA5360D9607A60F80CC71F9C7D7E8F241E00310C63D5C5B414D5FEB43A0B2E7A2AA335CD601DB3727BAF0DFEDB48388CFEA7A8301CDEAA42817F7316E6CBF0B7AC2671148FCA0E2DA337CF664C0C4FD85F7D799D496125D2186D82889E6B81D25107616591DDC46D"); System.out.println(a);
// System.out.println(a);
// } System.out.println(enCode("oqsq-vyMNxdWrlZFkbigCre0PM8s"));
System.out.println(enCode("oeso-t62kkoRwLVVkSkwmmjPfUXk"));
System.out.println(enCode("oeso-t9o2Wc3wV-CkOqmT6HLkM7c"));
}
} }

Loading…
Cancel
Save