|
@@ -190,6 +190,10 @@ public class YbService {
|
|
|
public ResultVo returnGoodsItem(SelinfoReturn selinfoReturn) {
|
|
|
ResultVo response = null;
|
|
|
List<DrugTracCodg> drugTracCodgList = selinfoReturn.getDrugtracinfo();
|
|
|
+ if(drugTracCodgList == null || drugTracCodgList.size() == 0) {
|
|
|
+ response = new ResultVo(-1, "追溯码不能为空");
|
|
|
+ return response;
|
|
|
+ }
|
|
|
|
|
|
// 记录关联字段信息(用于关联退药记录)
|
|
|
// 这些字段用于后续查询退药记录,确保医保记录与退药记录的一一对应
|
|
@@ -231,11 +235,27 @@ public class YbService {
|
|
|
} else {
|
|
|
log.warn("退药操作没有追溯码信息,继续处理");
|
|
|
}*/
|
|
|
-
|
|
|
+
|
|
|
+ List<SelinfoSold> selinfoSoldList =
|
|
|
+ selinfoSoldMapper.getSelinfoSoldList(selinfoReturn.getPatientId(), selinfoReturn.getTimes(),
|
|
|
+ selinfoReturn.getOrderNo(), selinfoReturn.getChargeItemCode(), selinfoReturn.getRealNo());
|
|
|
+ if(selinfoSoldList == null || selinfoSoldList.size() == 0) {
|
|
|
+ response = new ResultVo(-1, "关联追溯码上传失败");
|
|
|
+ return response;
|
|
|
+ }
|
|
|
+
|
|
|
+ SelinfoSold selinfoSold = selinfoSoldList.get(0);
|
|
|
+
|
|
|
selinfoReturn.setSelRetnCnt(drugTracCodgList != null ? drugTracCodgList.size() : 0);
|
|
|
String now = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
|
|
|
+ selinfoReturn.setMedListCodg(selinfoSold.getMedListCodg());
|
|
|
selinfoReturn.setSelRetnTime(now);
|
|
|
- selinfoReturn.setMdtrtSn("MDTRT_ID");
|
|
|
+ selinfoReturn.setMdtrtSn(selinfoSold.getMdtrtSn());
|
|
|
+ selinfoReturn.setFixmedinsBchno(selinfoSold.getFixmedinsBchno());
|
|
|
+ selinfoReturn.setManuLotnum(selinfoSold.getManuLotnum());
|
|
|
+ selinfoReturn.setManuDate(selinfoSold.getManuDate());
|
|
|
+ selinfoReturn.setRxFlag(selinfoSold.getRxFlag());
|
|
|
+ selinfoReturn.setTrdnFlag(selinfoSold.getTrdnFlag());
|
|
|
|
|
|
String realUrl = siInventoryServiceUrl + "/returnGoodsItem";
|
|
|
try {
|
|
@@ -263,4 +283,44 @@ public class YbService {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ public ResultVo getGoods(SelinfoSold selinfoSold) {
|
|
|
+ ResultVo response = null;
|
|
|
+
|
|
|
+ List<SelinfoSold> selinfoSoldList =
|
|
|
+ selinfoSoldMapper.getSelinfoSoldList(selinfoSold.getPatientId(), selinfoSold.getTimes(),
|
|
|
+ selinfoSold.getOrderNo(), selinfoSold.getChargeItemCode(), selinfoSold.getRealNo());
|
|
|
+ if(selinfoSoldList == null || selinfoSoldList.size() == 0) {
|
|
|
+ response = new ResultVo(-1, "关联追溯码上传失败");
|
|
|
+ return response;
|
|
|
+ }
|
|
|
+
|
|
|
+ SelinfoSold sold = selinfoSoldList.get(0);
|
|
|
+ Map<String, String> param = new HashMap<>();
|
|
|
+ param.put("med_list_codg", sold.getMedListCodg());
|
|
|
+
|
|
|
+ String realUrl = siInventoryServiceUrl + "/selectSalesGoodsItem";
|
|
|
+ try {
|
|
|
+ String jsonString = JSONObject.toJSONString(param, SerializerFeature.WriteNonStringKeyAsString);
|
|
|
+ String ybResult = HttpUtil.sendHttpPost(realUrl, jsonString, 8000);
|
|
|
+ JSONObject ybResultJson = JSONObject.parseObject(ybResult);
|
|
|
+ int responseCode = 0;
|
|
|
+ if(ybResultJson.getInteger("code") != 200) {
|
|
|
+ responseCode = ybResultJson.getInteger("code");
|
|
|
+ }
|
|
|
+ response = new ResultVo(responseCode, ybResultJson.getString("message"));
|
|
|
+
|
|
|
+ // 记录医保接口调用结果
|
|
|
+ // 通过关联键可以快速定位具体的退药记录,便于问题排查和审计
|
|
|
+ log.info("医保退药接口调用结果 - 结果: {}", response);
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ response = new ResultVo(-1, "商品销售查询失败");
|
|
|
+ // 记录错误信息时包含关联键,便于快速定位问题
|
|
|
+ log.error("医保退药接口调用失败 - 错误: {}", e.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ return response;
|
|
|
+ }
|
|
|
+
|
|
|
}
|