南靖接口重整

dtxyy
anthonywj 9 months ago
parent 8500678805
commit 5c47c7805f

@ -62,10 +62,8 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -228,12 +226,18 @@ public class NjxyyClient extends CommonHttpClient {
return baseResponse;
}
/**
*
*
* @param forInvProductsFilter
* @return
*/
@Override
public BaseResponse queryUdiHighInvProductsFilter(ForInvProductsFilter forInvProductsFilter) {
//入参业务系统字段控制
FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest();
BeanUtils.copyProperties(forInvProductsFilter, filterInvProductRequest);
log.info("HIS扫码获取高值耗材库存" + JSONUtil.toJsonStr(forInvProductsFilter));
//调用业务系统http
String response = httpClient.postUDIWMSJson(thirdSysConfig.getPostInvHighProductsFilterUrl(), filterInvProductRequest);
//业务系统返回参数 字段控制
@ -585,12 +589,18 @@ public class NjxyyClient extends CommonHttpClient {
return baseResponse;
}
/**
* HIS
*
* @param forBasicProductsSearchFilter
* @return
*/
@Override
public BaseResponse queryUdiBasicProductsSearch(ForBasicProductsSearchFilter forBasicProductsSearchFilter) {
//入参业务系统字段控制
FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest();
BeanUtils.copyProperties(forBasicProductsSearchFilter, filterUdiRelRequest);
log.info("HIS获取普耗库存" + JSONUtil.toJsonStr(forBasicProductsSearchFilter));
//调用业务系统http
String response = httpClient.postUDIWMSJson(thirdSysConfig.getPostBasicProductsSearch(), filterUdiRelRequest);
//业务系统返回参数 字段控制
@ -607,8 +617,6 @@ public class NjxyyClient extends CommonHttpClient {
newPageSimpleResponse.setTotal(pageSimpleResponse.getTotal());
newPageSimpleResponse.setList(newList);
baseResponse.setData(newPageSimpleResponse);
} else {
}
return baseResponse;
}
@ -616,32 +624,50 @@ public class NjxyyClient extends CommonHttpClient {
@Override
public BaseResponse queryUdiInvOutScanCode(ForInvOutScanCodeFilter forInvOutScanCodeFilter) {
ForInvOutScanCodeRequest forInvOutScanCodeRequest = new ForInvOutScanCodeRequest();
System.out.println(JSON.toJSONString(forInvOutScanCodeFilter));
// TODO: 2024/3/15 forInvOutScanCodeFilter 转换为 入参的业务系统的实体 forInvOutScanCodeRequest
/**
* ==============================
*/
IoOrderRequest ioOrderRequest = new IoOrderRequest();
ioOrderRequest.setAction("qqqqq");
ioOrderRequest.setAction("SC20250702001"); //设置默认出库单据类型
ioOrderRequest.setCreateTime(new Date());
ForInvOutScanCodeFilter.Billbaseinfo billbaseinfo = forInvOutScanCodeFilter.getBillbaseinfo();
ioOrderRequest.setCreateUser(billbaseinfo.getUserid());
if (StrUtil.isNotEmpty(billbaseinfo.getDeptid())) {
AuthWarehouseEntity authWarehouseEntity = authWarehouseDao.selectOne(new QueryWrapper<AuthWarehouseEntity>().eq("thirdId", billbaseinfo.getDeptid()).last("limit 1"));
if (authWarehouseEntity == null)
return ResultVOUtils.error(500, "UDI系统科室未对照");
ioOrderRequest.setInvCode(authWarehouseEntity.getCode());
ioOrderRequest.setDeptCode(authWarehouseEntity.getParentId());
} else
return ResultVOUtils.error(500, "HIS执行科室不能为空");
ForInvOutScanCodeFilter.Patientinfo patientinfo = forInvOutScanCodeFilter.getPatientinfo();
ioOrderRequest.setFromCorp(patientinfo.getInpatientid());
ioOrderRequest.setRemark(patientinfo.getInpatientid() + "-" + patientinfo.getName());
ioOrderRequest.setSickerAdNum(patientinfo.getInpatientid());
List<ForInvOutScanCodeFilter.Highvalue> highvalues = forInvOutScanCodeFilter.getHighvaluelist();
if (CollUtil.isEmpty(highvalues))
return ResultVOUtils.error(500, "耗材使用信息不能为空!");
List<IoOrderCodeRequest> codeRequestList = new ArrayList<>();
IoOrderCodeRequest ioOrderCodeRequest = new IoOrderCodeRequest();
ioOrderCodeRequest.setCode("11111");
codeRequestList.add(ioOrderCodeRequest);
for (ForInvOutScanCodeFilter.Highvalue highvalue : highvalues) {
IoOrderCodeRequest codeRequest = new IoOrderCodeRequest();
codeRequest.setCode(highvalue.getUdicode());
codeRequest.setInvCode(ioOrderRequest.getInvCode());
if (StrUtil.isNotEmpty(highvalue.getPrice())) {
codeRequest.setPrice(new BigDecimal(highvalue.getPrice()));
}
if (IntUtil.value(highvalue.getQuantity()) == 0) {
return ResultVOUtils.error(500, "耗材数量不能为空!");
}
codeRequest.setCount(IntUtil.value(highvalue.getQuantity()));
codeRequestList.add(codeRequest);
}
forInvOutScanCodeRequest.setCodeRequestList(codeRequestList);
forInvOutScanCodeRequest.setIoOrderRequest(ioOrderRequest);
/**
* ============================================
*/
String response = httpClient.postUDIWMSJson(thirdSysConfig.getPostInvOutScanCode(), forInvOutScanCodeRequest);
BaseResponse baseResponse = JSONObject.parseObject(response, BaseResponse.class);
// if (baseResponse.getCode() == 20000){
// ForInvOutScanCodeResponse forInvOutScanCodeResponse =
// JSONObject.parseObject(String.valueOf(baseResponse.getData()), ForInvOutScanCodeResponse.class);
// }else {
//
// }
return baseResponse;
}

@ -543,8 +543,6 @@ public class ZzzyyClient extends CommonHttpClient {
@Override
public BaseResponse postRelProduct(PostRelProductRequest postThrInvProductsRequest) {
return null;
}

@ -118,8 +118,8 @@ public class ExNjxyyController {
* @param forInvOutScanCodeFilter
* @return
*/
@PostMapping("/ex/inv/out/scanCode")
public BaseResponse invOutScanCode(@RequestBody @Valid ForInvOutScanCodeFilter forInvOutScanCodeFilter) {
@PostMapping("/ex/udiwms/inv/out/scanCode")
public BaseResponse invOutScanCode(@RequestBody ForInvOutScanCodeFilter forInvOutScanCodeFilter) {
return ClientProcessor.getHttpClient().queryUdiInvOutScanCode(forInvOutScanCodeFilter);
}

@ -35,7 +35,7 @@ public class ForInvOutScanCodeFilter {
*
*/
@Data
static class Billbaseinfo {
public static class Billbaseinfo {
/**
*
*/
@ -60,7 +60,7 @@ public class ForInvOutScanCodeFilter {
*
*/
@Data
static class Patientinfo {
public static class Patientinfo {
/**
* ID
*/
@ -234,7 +234,7 @@ public class ForInvOutScanCodeFilter {
* 使
*/
@Data
static class Highvalue {
public static class Highvalue {
/**
* UDI

@ -3,10 +3,11 @@ package com.glxp.mipsdl.req.base.forthird;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class IoOrderCodeRequest{
public class IoOrderCodeRequest {
/**
* UDI
@ -157,4 +158,7 @@ public class IoOrderCodeRequest{
private String inBatchNo;
private BigDecimal price;
}

Loading…
Cancel
Save