|
|
@ -65,16 +65,17 @@ public class DownloadFactory {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
@Resource
|
|
|
|
private ErpBasicClient erpBasicClient;
|
|
|
|
private ErpBasicClient erpBasicClient;
|
|
|
|
@Resource
|
|
|
|
@Resource
|
|
|
|
private ThrBusTypeOriginServiceImpl thrBusTypeOriginService;
|
|
|
|
private ThrBusTypeOriginServiceImpl thrBusTypeOriginService;
|
|
|
|
|
|
|
|
|
|
|
|
public BaseResponse downloadErpOrder(CollectOrderRequest collectOrderRequest, String busType) {
|
|
|
|
public BaseResponse downloadErpOrder(CollectOrderRequest collectOrderRequest, String busType) {
|
|
|
|
|
|
|
|
|
|
|
|
int page = 1;
|
|
|
|
int page = 1;
|
|
|
|
int limit = 100;
|
|
|
|
int limit = 100;
|
|
|
|
|
|
|
|
int maxPages = 1000; // 设置最大页数限制,防止死循环
|
|
|
|
|
|
|
|
StringBuilder errorMsgAll = new StringBuilder();
|
|
|
|
|
|
|
|
|
|
|
|
GetSickPrescribeRequest getSickPrescribeRequest = new GetSickPrescribeRequest();
|
|
|
|
GetSickPrescribeRequest getSickPrescribeRequest = new GetSickPrescribeRequest();
|
|
|
|
getSickPrescribeRequest.setLimit(limit);
|
|
|
|
getSickPrescribeRequest.setLimit(limit);
|
|
|
|
getSickPrescribeRequest.setCode(collectOrderRequest.getBillNo());
|
|
|
|
getSickPrescribeRequest.setCode(collectOrderRequest.getBillNo());
|
|
|
@ -85,9 +86,8 @@ public class DownloadFactory {
|
|
|
|
getSickPrescribeRequest.setEndTime(collectOrderRequest.getEndTime());
|
|
|
|
getSickPrescribeRequest.setEndTime(collectOrderRequest.getEndTime());
|
|
|
|
getSickPrescribeRequest.setKey(collectOrderRequest.getKeyWords());
|
|
|
|
getSickPrescribeRequest.setKey(collectOrderRequest.getKeyWords());
|
|
|
|
getSickPrescribeRequest.setBusType(collectOrderRequest.getBusType());
|
|
|
|
getSickPrescribeRequest.setBusType(collectOrderRequest.getBusType());
|
|
|
|
BaseResponse resp;
|
|
|
|
|
|
|
|
while (true) {
|
|
|
|
while (page <= maxPages) {
|
|
|
|
List<IoCollectOrder> list;
|
|
|
|
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
getSickPrescribeRequest.setPage(page);
|
|
|
|
getSickPrescribeRequest.setPage(page);
|
|
|
|
BaseResponse<PageSimpleResponse<IoCollectOrder>> baseResponse = new BaseResponse<>();
|
|
|
|
BaseResponse<PageSimpleResponse<IoCollectOrder>> baseResponse = new BaseResponse<>();
|
|
|
@ -97,31 +97,45 @@ public class DownloadFactory {
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
baseResponse = erpBasicClient.getPrescribeV2(getSickPrescribeRequest);
|
|
|
|
baseResponse = erpBasicClient.getPrescribeV2(getSickPrescribeRequest);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (baseResponse.getCode() == 20000) {
|
|
|
|
|
|
|
|
list = baseResponse.getData().getList();
|
|
|
|
if (baseResponse.getCode() != 20000) {
|
|
|
|
if (list == null) {
|
|
|
|
return baseResponse;
|
|
|
|
return ResultVOUtils.error(500, "未查到此业务单据");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
resp = importThrOrder(list, collectOrderRequest);
|
|
|
|
|
|
|
|
if ((list.size() >= limit && !baseResponse.getData().getTotal().equals(-666)) || IntUtil.value(baseResponse.getData().getTotal()) == -555) {
|
|
|
|
List<IoCollectOrder> list = baseResponse.getData().getList();
|
|
|
|
page++;
|
|
|
|
if (list == null || list.isEmpty()) {
|
|
|
|
} else {
|
|
|
|
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
|
|
|
|
return baseResponse;
|
|
|
|
BaseResponse resp = importThrOrder(list, collectOrderRequest);
|
|
|
|
|
|
|
|
if (resp != null && resp.getMessage() != null) {
|
|
|
|
|
|
|
|
errorMsgAll.append(resp.getMessage());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|
|
|
log.error(ExceptionUtils.getStackTrace(e));
|
|
|
|
|
|
|
|
return ResultVOUtils.error(500, e.getMessage());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 判断是否还有下一页
|
|
|
|
|
|
|
|
Integer total = baseResponse.getData().getTotal();
|
|
|
|
|
|
|
|
if (total == null || total <= 0 || total.equals(-666) || total.equals(-555)) {
|
|
|
|
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 如果当前页数据量小于每页限制,说明已经是最后一页
|
|
|
|
|
|
|
|
if (list.size() < limit) {
|
|
|
|
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
page++;
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|
|
|
log.error("下载订单异常: {}", ExceptionUtils.getStackTrace(e));
|
|
|
|
|
|
|
|
return ResultVOUtils.error(500, "下载订单异常: " + e.getMessage());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return ResultVOUtils.success(resp.getMessage(),"下载成功");
|
|
|
|
if (page > maxPages) {
|
|
|
|
|
|
|
|
log.warn("达到最大页数限制: {}", maxPages);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return ResultVOUtils.success(errorMsgAll.toString(), "下载成功");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public BaseResponse downloadErpThrOrder(CollectOrderRequest collectOrderRequest) {
|
|
|
|
public BaseResponse downloadErpThrOrder(CollectOrderRequest collectOrderRequest) {
|
|
|
|
int page = 1;
|
|
|
|
int page = 1;
|
|
|
@ -138,14 +152,15 @@ public class DownloadFactory {
|
|
|
|
BaseResponse resp;
|
|
|
|
BaseResponse resp;
|
|
|
|
while (true) {
|
|
|
|
while (true) {
|
|
|
|
filterThrOrderRequest.setPage(page);
|
|
|
|
filterThrOrderRequest.setPage(page);
|
|
|
|
BaseResponse<PageSimpleResponse<IoCollectOrder>> baseResponse = erpBasicClient.getThrOrders(filterThrOrderRequest);
|
|
|
|
BaseResponse<PageSimpleResponse<IoCollectOrder>> baseResponse = erpBasicClient
|
|
|
|
|
|
|
|
.getThrOrders(filterThrOrderRequest);
|
|
|
|
if (baseResponse.getCode() == 20000) {
|
|
|
|
if (baseResponse.getCode() == 20000) {
|
|
|
|
List<IoCollectOrder> list = baseResponse.getData().getList();
|
|
|
|
List<IoCollectOrder> list = baseResponse.getData().getList();
|
|
|
|
if (list == null) {
|
|
|
|
if (list == null) {
|
|
|
|
return ResultVOUtils.error(500, "未查到此业务单据");
|
|
|
|
return ResultVOUtils.error(500, "未查到此业务单据");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
resp = importThrOrder(list, collectOrderRequest);
|
|
|
|
resp = importThrOrder(list, collectOrderRequest);
|
|
|
|
if ((list.size() >= limit && !baseResponse.getData().getTotal().equals(-666)) || IntUtil.value(baseResponse.getData().getTotal()) == -555) {
|
|
|
|
if ((list.size() >= limit && !baseResponse.getData().getTotal().equals(-666))) {
|
|
|
|
page++;
|
|
|
|
page++;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -157,7 +172,6 @@ public class DownloadFactory {
|
|
|
|
return ResultVOUtils.success(resp.getMessage(), "下载成功");
|
|
|
|
return ResultVOUtils.success(resp.getMessage(), "下载成功");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
@Resource
|
|
|
|
UdiRelevanceDao udiRelevanceDao;
|
|
|
|
UdiRelevanceDao udiRelevanceDao;
|
|
|
|
@Resource
|
|
|
|
@Resource
|
|
|
@ -165,7 +179,6 @@ public class DownloadFactory {
|
|
|
|
@Resource
|
|
|
|
@Resource
|
|
|
|
private IoCollectOrderService collectOrderService;
|
|
|
|
private IoCollectOrderService collectOrderService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 下载至单据
|
|
|
|
* 下载至单据
|
|
|
|
*
|
|
|
|
*
|
|
|
@ -214,7 +227,9 @@ public class DownloadFactory {
|
|
|
|
errorMsg.append(entity.getCpmctymc()).append("字典未对照").append(";");
|
|
|
|
errorMsg.append(entity.getCpmctymc()).append("字典未对照").append(";");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
BasicProductsEntity basicProductsEntity = basicProductsDao.selectOne(new LambdaQueryWrapper<BasicProductsEntity>().eq(BasicProductsEntity::getYbbm, entity.getYbbm()).last("limit 1"));
|
|
|
|
BasicProductsEntity basicProductsEntity = basicProductsDao
|
|
|
|
|
|
|
|
.selectOne(new LambdaQueryWrapper<BasicProductsEntity>()
|
|
|
|
|
|
|
|
.eq(BasicProductsEntity::getYbbm, entity.getYbbm()).last("limit 1"));
|
|
|
|
if (basicProductsEntity == null || StrUtil.isEmpty(basicProductsEntity.getNameCode())) {
|
|
|
|
if (basicProductsEntity == null || StrUtil.isEmpty(basicProductsEntity.getNameCode())) {
|
|
|
|
errorMsg.append(entity.getCpmctymc()).append("字典未对照").append(";");
|
|
|
|
errorMsg.append(entity.getCpmctymc()).append("字典未对照").append(";");
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -224,10 +239,15 @@ public class DownloadFactory {
|
|
|
|
bizList.add(collectOrderBiz);
|
|
|
|
bizList.add(collectOrderBiz);
|
|
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
UdiRelevanceEntity basicUdirelEntity = udiRelevanceDao.selectOne(new LambdaQueryWrapper<UdiRelevanceEntity>().eq(UdiRelevanceEntity::getMainId, entity.getThrCode()).last("limit 1"));
|
|
|
|
UdiRelevanceEntity basicUdirelEntity = udiRelevanceDao
|
|
|
|
|
|
|
|
.selectOne(new LambdaQueryWrapper<UdiRelevanceEntity>()
|
|
|
|
|
|
|
|
.eq(UdiRelevanceEntity::getMainId, entity.getThrCode()).last("limit 1"));
|
|
|
|
if (basicUdirelEntity != null) {
|
|
|
|
if (basicUdirelEntity != null) {
|
|
|
|
collectOrderBiz.setRelId(basicUdirelEntity.getId());
|
|
|
|
collectOrderBiz.setRelId(basicUdirelEntity.getId());
|
|
|
|
BasicProductsEntity basicProductsEntity = basicProductsDao.selectOne(new LambdaQueryWrapper<BasicProductsEntity>().eq(BasicProductsEntity::getUuid, basicUdirelEntity.getUuid()).eq(BasicProductsEntity::getPackLevel, "1").last("limit 1"));
|
|
|
|
BasicProductsEntity basicProductsEntity = basicProductsDao
|
|
|
|
|
|
|
|
.selectOne(new LambdaQueryWrapper<BasicProductsEntity>()
|
|
|
|
|
|
|
|
.eq(BasicProductsEntity::getUuid, basicUdirelEntity.getUuid())
|
|
|
|
|
|
|
|
.eq(BasicProductsEntity::getPackLevel, "1").last("limit 1"));
|
|
|
|
if (basicProductsEntity == null || StrUtil.isEmpty(basicProductsEntity.getNameCode())) {
|
|
|
|
if (basicProductsEntity == null || StrUtil.isEmpty(basicProductsEntity.getNameCode())) {
|
|
|
|
errorMsg.append(entity.getCpmctymc()).append("字典未对照").append(";");
|
|
|
|
errorMsg.append(entity.getCpmctymc()).append("字典未对照").append(";");
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|