Merge remote-tracking branch 'origin/dev_fifo_z' into dev_fifo_z

workplace
wangwei 10 months ago
commit 7886e41d07

@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
@ -13,6 +15,9 @@ import java.util.Date;
*/ */
@Data @Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("basic_udirel") @TableName("basic_udirel")
public class UdiRelevanceEntity { public class UdiRelevanceEntity {

@ -237,16 +237,17 @@ public class ErpBasicClient {
/** /**
* *
*
* @param filterThrOrderRequest * @param filterThrOrderRequest
* @return * @return
*/ */
public BaseResponse<PageSimpleResponse<ThrOrderResponse>> getThrOrders(FilterThrOrderRequest filterThrOrderRequest) { public BaseResponse<PageSimpleResponse<IoCollectOrder>> getThrOrders(FilterThrOrderRequest filterThrOrderRequest) {
ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(filterThrOrderRequest.getThirdSys()); ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(filterThrOrderRequest.getThirdSys());
String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/getThrOrders"; String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/getThrOrders";
try { try {
String response = httpOkClient.uCloudPost(url, filterThrOrderRequest); String response = httpOkClient.uCloudPost(url, filterThrOrderRequest);
BaseResponse<PageSimpleResponse<ThrOrderResponse>> listBaseResponse = BaseResponse<PageSimpleResponse<IoCollectOrder>> listBaseResponse =
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<ThrOrderResponse>>>() { JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<IoCollectOrder>>>() {
}); });
return listBaseResponse; return listBaseResponse;

@ -1,6 +1,5 @@
package com.glxp.api.service.collect; package com.glxp.api.service.collect;
import cn.hutool.core.util.StrUtil;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.BusTypeConstant; import com.glxp.api.constant.BusTypeConstant;
@ -30,22 +29,14 @@ public class DownloadFactory {
*/ */
public BaseResponse downloadOrder(CollectOrderRequest collectOrderRequest) { public BaseResponse downloadOrder(CollectOrderRequest collectOrderRequest) {
String busType = collectOrderRequest.getBusType(); String busType = collectOrderRequest.getBusType();
if (StrUtil.isBlank(busType)) { if (busType == null) {
return ResultVOUtils.error("下载失败,未配置业务类型"); return ResultVOUtils.error("下载失败,未配置业务类型");
} }
if (busType.equals(BusTypeConstant.YPCF002.getBusType())) { if (busType.equals(BusTypeConstant.YPCF002.getBusType())) {
return ypcf002Download.downloadOrder(collectOrderRequest); return ypcf002Download.downloadOrder(collectOrderRequest);
} else if (busType.equals(BusTypeConstant.CGJH001.getBusType())) { } else {
return thrOrderDownload.downloadOrder(collectOrderRequest);
} else if (busType.equals(BusTypeConstant.LYRK.getBusType())) {
return thrOrderDownload.downloadOrder(collectOrderRequest);
} else if (busType.equals(BusTypeConstant.GMRK.getBusType())) {
return thrOrderDownload.downloadOrder(collectOrderRequest);
} else if (busType.equals(BusTypeConstant.LYCK.getBusType())) {
return thrOrderDownload.downloadOrder(collectOrderRequest); return thrOrderDownload.downloadOrder(collectOrderRequest);
} }
return ResultVOUtils.error("下载失败,未配置业务类型");
} }
} }

@ -121,6 +121,7 @@ public class IoCollectOriginService {
/** /**
* *
*
* @param collectOrderRequest * @param collectOrderRequest
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)

@ -7,8 +7,10 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.dao.basic.UdiRelevanceDao;
import com.glxp.api.dao.thrsys.ThrOrderDao; import com.glxp.api.dao.thrsys.ThrOrderDao;
import com.glxp.api.dao.thrsys.ThrOrderDetailDao; import com.glxp.api.dao.thrsys.ThrOrderDetailDao;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.entity.collect.IoCollectOrder; import com.glxp.api.entity.collect.IoCollectOrder;
import com.glxp.api.entity.collect.IoCollectOrderBiz; import com.glxp.api.entity.collect.IoCollectOrderBiz;
import com.glxp.api.entity.thrsys.ThrOrderDetailEntity; import com.glxp.api.entity.thrsys.ThrOrderDetailEntity;
@ -19,6 +21,7 @@ import com.glxp.api.req.thrsys.FilterThrOrderRequest;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.thrsys.ThrOrderResponse; import com.glxp.api.res.thrsys.ThrOrderResponse;
import com.glxp.api.service.collect.IoCollectOrderService; import com.glxp.api.service.collect.IoCollectOrderService;
import com.glxp.api.util.MsDateUtil;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -44,12 +47,12 @@ public class ThrOrderDownload implements IDownload {
@Override @Override
public BaseResponse downloadOrder(CollectOrderRequest collectOrderRequest) { public BaseResponse downloadOrder(CollectOrderRequest collectOrderRequest) {
LambdaQueryWrapper<ThrOrderEntity> w = new LambdaQueryWrapper<>(); // LambdaQueryWrapper<ThrOrderEntity> w = new LambdaQueryWrapper<>();
w.eq(StrUtil.isNotBlank(collectOrderRequest.getBillNo()), ThrOrderEntity::getBillNo, collectOrderRequest.getBillNo()); // w.eq(StrUtil.isNotBlank(collectOrderRequest.getBillNo()), ThrOrderEntity::getBillNo, collectOrderRequest.getBillNo());
List<ThrOrderEntity> thrOrderEntities = thrOrderDao.selectList(w); // List<ThrOrderEntity> thrOrderEntities = thrOrderDao.selectList(w);
if (CollUtil.isNotEmpty(thrOrderEntities)) { // if (CollUtil.isNotEmpty(thrOrderEntities)) {
return this.importThrOrder(thrOrderEntities, collectOrderRequest); // return this.importThrOrder(thrOrderEntities, collectOrderRequest);
} else { // } else {
//三方拉取 //三方拉取
FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest();
filterThrOrderRequest.setPage(1); filterThrOrderRequest.setPage(1);
@ -59,35 +62,17 @@ public class ThrOrderDownload implements IDownload {
filterThrOrderRequest.setBusType(collectOrderRequest.getBusType()); filterThrOrderRequest.setBusType(collectOrderRequest.getBusType());
filterThrOrderRequest.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode()); filterThrOrderRequest.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode());
filterThrOrderRequest.setFromType(collectOrderRequest.getFromType()); filterThrOrderRequest.setFromType(collectOrderRequest.getFromType());
BaseResponse<PageSimpleResponse<ThrOrderResponse>> baseResponse = erpBasicClient.getThrOrders(filterThrOrderRequest); BaseResponse<PageSimpleResponse<IoCollectOrder>> baseResponse = erpBasicClient.getThrOrders(filterThrOrderRequest);
if (baseResponse.getCode() == 20000) { if (baseResponse.getCode() == 20000) {
List<ThrOrderResponse> list = baseResponse.getData().getList(); List<IoCollectOrder> list = baseResponse.getData().getList();
if (CollUtil.isNotEmpty(list)) { return this.importThrOrder(list, collectOrderRequest);
list.forEach(item -> {
ThrOrderEntity thrOrderEntity = new ThrOrderEntity();
BeanUtil.copyProperties(item, thrOrderEntity);
thrOrderEntity.setCreateTime(new Date());
thrOrderEntity.setUpdateTime(new Date());
List<ThrOrderDetailEntity> detailList = item.getDetailList();
if (CollUtil.isNotEmpty(detailList)) {
thrOrderDetailDao.delete(new LambdaQueryWrapper<ThrOrderDetailEntity>().eq(ThrOrderDetailEntity::getOrderIdFk, item.getBillNo()));
for (ThrOrderDetailEntity detail : detailList) {
detail.setCreateTime(thrOrderEntity.getCreateTime());
detail.setUpdateTime(thrOrderEntity.getUpdateTime());
thrOrderDetailDao.insert(detail);
}
}
thrOrderDao.insertOrUpdate(thrOrderEntity);
});
//再次获取
thrOrderEntities = thrOrderDao.selectList(w);
return this.importThrOrder(thrOrderEntities, collectOrderRequest);
}
}
} }
return ResultVOUtils.error("下载失败"); return ResultVOUtils.error("下载失败");
} }
// }
@Resource
UdiRelevanceDao udiRelevanceDao;
/** /**
* *
@ -95,41 +80,31 @@ public class ThrOrderDownload implements IDownload {
* @param thrOrderEntities * @param thrOrderEntities
* @param collectOrderRequest * @param collectOrderRequest
*/ */
private BaseResponse importThrOrder(List<ThrOrderEntity> thrOrderEntities, CollectOrderRequest collectOrderRequest) { private BaseResponse importThrOrder(List<IoCollectOrder> thrOrderEntities, CollectOrderRequest collectOrderRequest) {
List<IoCollectOrder> ioCollectOrderList = new ArrayList<>(); List<IoCollectOrder> ioCollectOrderList = new ArrayList<>();
if (CollUtil.isNotEmpty(thrOrderEntities)) { if (CollUtil.isNotEmpty(thrOrderEntities)) {
for (ThrOrderEntity thrOrder : thrOrderEntities) { for (IoCollectOrder thrOrder : thrOrderEntities) {
IoCollectOrder ioCollectOrder = new IoCollectOrder(); IoCollectOrder ioCollectOrder = new IoCollectOrder();
BeanUtil.copyProperties(thrOrder, ioCollectOrder);
StringBuilder errorMsg = new StringBuilder(); StringBuilder errorMsg = new StringBuilder();
ioCollectOrder.setBillNo(thrOrder.getBillNo());
ioCollectOrder.setFromType("HIS系统"); ioCollectOrder.setFromType("HIS系统");
ioCollectOrder.setFromCorp(null);
ioCollectOrder.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode()); ioCollectOrder.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode());
ioCollectOrder.setFromCorpName("");
ioCollectOrder.setBillTime(DateUtil.parseTime(thrOrder.getBilldate()));
ioCollectOrder.setCreateTime(new Date()); ioCollectOrder.setCreateTime(new Date());
ioCollectOrder.setCreateUser(collectOrderRequest.getCreateUser()); ioCollectOrder.setCreateUser(collectOrderRequest.getCreateUser());
ioCollectOrder.setBackupOrderRemark1(null); ioCollectOrder.setBackupOrderRemark1(null);
ioCollectOrder.setUpdateTime(new Date()); ioCollectOrder.setUpdateTime(new Date());
ioCollectOrder.setSplitStatus(0); ioCollectOrder.setSplitStatus(0);
ioCollectOrder.setTagStatus(0); ioCollectOrder.setTagStatus(0);
List<ThrOrderDetailEntity> thrOrderDetailEntities = thrOrderDetailDao.selectList(new LambdaQueryWrapper<ThrOrderDetailEntity>().eq(ThrOrderDetailEntity::getOrderIdFk, thrOrder.getBillNo()));
List<IoCollectOrderBiz> bizList = new ArrayList<>(); List<IoCollectOrderBiz> bizList = new ArrayList<>();
for (ThrOrderDetailEntity entity : thrOrderDetailEntities) { for (IoCollectOrderBiz entity : thrOrder.getBizList()) {
IoCollectOrderBiz collectOrderBiz = new IoCollectOrderBiz(); IoCollectOrderBiz collectOrderBiz = new IoCollectOrderBiz();
// BasicUdirelEntity basicUdirelEntity = basicUdirelDao.selectOne(new LambdaQueryWrapper<BasicUdirelEntity>().eq(BasicUdirelEntity::getMainId, entity.getPHYSIC_CODE())); BeanUtil.copyProperties(entity, collectOrderBiz);
// if (basicUdirelEntity != null) { UdiRelevanceEntity basicUdirelEntity = udiRelevanceDao.selectOne(new LambdaQueryWrapper<UdiRelevanceEntity>().eq(UdiRelevanceEntity::getMainId, entity.getThrCode()));
// collectOrderBiz.setRelId(basicUdirelEntity.getId()); if (basicUdirelEntity != null) {
// } else { collectOrderBiz.setRelId(basicUdirelEntity.getId());
// errorMsg.append(entity.getPHYSIC_NAME()).append("字典未对照").append(";"); } else {
// } errorMsg.append(entity.getCpmctymc()).append("字典未对照").append(";");
collectOrderBiz.setThrCode(null); }
collectOrderBiz.setCpmctymc(null);
collectOrderBiz.setGgxh(null);
collectOrderBiz.setBatchNo(entity.getBatchNo());
collectOrderBiz.setOrderIdFk(ioCollectOrder.getBillNo());
collectOrderBiz.setCount(entity.getCount());
collectOrderBiz.setMeasureUnit(null);
collectOrderBiz.setTagStatus(1); collectOrderBiz.setTagStatus(1);
collectOrderBiz.setUnTagCount(0); collectOrderBiz.setUnTagCount(0);
bizList.add(collectOrderBiz); bizList.add(collectOrderBiz);

@ -8,6 +8,7 @@ import com.glxp.api.req.basic.GetSickPrescribeRequest;
import com.glxp.api.req.collect.CollectOrderRequest; import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.service.collect.IoCollectOrderService; import com.glxp.api.service.collect.IoCollectOrderService;
import com.glxp.api.util.IntUtil;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -22,19 +23,29 @@ public class YPCF002Download implements IDownload{
@Override @Override
public BaseResponse downloadOrder(CollectOrderRequest collectOrderRequest) { public BaseResponse downloadOrder(CollectOrderRequest collectOrderRequest) {
int page = 1;
int limit = 100;
GetSickPrescribeRequest getSickPrescribeRequest = new GetSickPrescribeRequest(); GetSickPrescribeRequest getSickPrescribeRequest = new GetSickPrescribeRequest();
getSickPrescribeRequest.setPage(1); getSickPrescribeRequest.setLimit(limit);
getSickPrescribeRequest.setLimit(100);
getSickPrescribeRequest.setCode(collectOrderRequest.getBillNo()); getSickPrescribeRequest.setCode(collectOrderRequest.getBillNo());
getSickPrescribeRequest.setThirdSys("thirdId"); getSickPrescribeRequest.setThirdSys("thirdId");
getSickPrescribeRequest.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode()); getSickPrescribeRequest.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode());
getSickPrescribeRequest.setFromType(collectOrderRequest.getFromType()); getSickPrescribeRequest.setFromType(collectOrderRequest.getFromType());
while (true){
getSickPrescribeRequest.setPage(page);
BaseResponse<PageSimpleResponse<IoCollectOrder>> baseResponse = erpBasicClient.getPrescribeV2(getSickPrescribeRequest); BaseResponse<PageSimpleResponse<IoCollectOrder>> baseResponse = erpBasicClient.getPrescribeV2(getSickPrescribeRequest);
if (baseResponse.getCode() == 20000) { if (baseResponse.getCode() == 20000) {
List<IoCollectOrder> list = baseResponse.getData().getList(); List<IoCollectOrder> list = baseResponse.getData().getList();
collectOrderService.importPrescribe(list,collectOrderRequest.getBusType()); collectOrderService.importPrescribe(list,collectOrderRequest.getBusType());
return ResultVOUtils.success("下载成功"); if ((list.size() >= limit && !baseResponse.getData().getTotal().equals(-666)) || IntUtil.value(baseResponse.getData().getTotal()) == -555) {
page++;
} else {
break;
}
}else {
return ResultVOUtils.error(500, "下载第三方系统产品信息异常");
} }
return ResultVOUtils.error("下载失败"); }
return ResultVOUtils.success("下载成功");
} }
} }

Loading…
Cancel
Save