From 02e524b56fdbf3c009806976fea77c9e7a49316a Mon Sep 17 00:00:00 2001 From: zane Date: Mon, 9 Sep 2024 16:14:23 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=8D=95=E6=8D=AE=E4=B8=8B=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/SysWorkplaceController.java | 2 +- .../collect/down/ThrOrderDownload.java | 70 ++++++++++++------- 2 files changed, 45 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/auth/SysWorkplaceController.java b/src/main/java/com/glxp/api/controller/auth/SysWorkplaceController.java index 1003e9f28..84a6024b0 100644 --- a/src/main/java/com/glxp/api/controller/auth/SysWorkplaceController.java +++ b/src/main/java/com/glxp/api/controller/auth/SysWorkplaceController.java @@ -155,7 +155,7 @@ public class SysWorkplaceController extends BaseController { return ResultVOUtils.error("当前工位已有员工绑定,请解绑之后在删除"); } WorkBindBusTypeRequest workBindBusTypeRequest = new WorkBindBusTypeRequest(); - workBindBusTypeRequest.setWorkplaceCode(String.valueOf(sysWorkplace.getWorkplaceId())); + workBindBusTypeRequest.setWorkplaceCode(sysWorkplace.getWorkplaceId()); List sysWorkplaceDocumentResponses = sysWorkplaceDocumentService.filterList(workBindBusTypeRequest); if (sysWorkplaceDocumentResponses.size() > 0) { return ResultVOUtils.error("当前工位已绑定单据,请解绑之后在删除"); diff --git a/src/main/java/com/glxp/api/service/collect/down/ThrOrderDownload.java b/src/main/java/com/glxp/api/service/collect/down/ThrOrderDownload.java index 2ec727114..ac0442aa5 100644 --- a/src/main/java/com/glxp/api/service/collect/down/ThrOrderDownload.java +++ b/src/main/java/com/glxp/api/service/collect/down/ThrOrderDownload.java @@ -19,6 +19,7 @@ import com.glxp.api.req.thrsys.FilterThrOrderRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.thrsys.ThrOrderResponse; import com.glxp.api.service.collect.IoCollectOrderService; +import com.glxp.api.util.IntUtil; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -50,42 +51,59 @@ public class ThrOrderDownload implements IDownload { if (CollUtil.isNotEmpty(thrOrderEntities)) { return this.importThrOrder(thrOrderEntities, collectOrderRequest); } else { - //三方拉取 + int page = 1; + int limit = 100; FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); - filterThrOrderRequest.setPage(1); - filterThrOrderRequest.setLimit(100); + filterThrOrderRequest.setLimit(limit); filterThrOrderRequest.setBillNo(collectOrderRequest.getBillNo()); filterThrOrderRequest.setThirdSys("thirdId"); filterThrOrderRequest.setBusType(collectOrderRequest.getBusType()); filterThrOrderRequest.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode()); filterThrOrderRequest.setFromType(collectOrderRequest.getFromType()); - BaseResponse> baseResponse = erpBasicClient.getThrOrders(filterThrOrderRequest); - if (baseResponse.getCode() == 20000) { - List list = baseResponse.getData().getList(); - if (CollUtil.isNotEmpty(list)) { - list.forEach(item -> { - ThrOrderEntity thrOrderEntity = new ThrOrderEntity(); - BeanUtil.copyProperties(item, thrOrderEntity); - thrOrderEntity.setCreateTime(new Date()); - thrOrderEntity.setUpdateTime(new Date()); - List detailList = item.getDetailList(); - if (CollUtil.isNotEmpty(detailList)) { - thrOrderDetailDao.delete(new LambdaQueryWrapper().eq(ThrOrderDetailEntity::getOrderIdFk, item.getBillNo())); - for (ThrOrderDetailEntity detail : detailList) { - detail.setCreateTime(thrOrderEntity.getCreateTime()); - detail.setUpdateTime(thrOrderEntity.getUpdateTime()); - thrOrderDetailDao.insert(detail); + while (true){ + filterThrOrderRequest.setPage(page); + BaseResponse> baseResponse = erpBasicClient.getThrOrders(filterThrOrderRequest); + if (baseResponse.getCode() == 20000) { + List list = baseResponse.getData().getList(); + if (CollUtil.isNotEmpty(list)) { + list.forEach(item -> { + ThrOrderEntity thrOrderEntity = new ThrOrderEntity(); + ThrOrderEntity old = thrOrderDao.selectOne(new LambdaQueryWrapper().eq(ThrOrderEntity::getBillNo, item.getBillNo()).last("limit 1")); + BeanUtil.copyProperties(item, thrOrderEntity); + if(old == null){ + //新增 + thrOrderEntity.setCreateTime(new Date()); + thrOrderEntity.setUpdateTime(new Date()); + }else{ + //更新 + thrOrderEntity.setId(old.getId()); + thrOrderEntity.setUpdateTime(new Date()); } - } - thrOrderDao.insertOrUpdate(thrOrderEntity); - }); - //再次获取 - thrOrderEntities = thrOrderDao.selectList(w); - return this.importThrOrder(thrOrderEntities, collectOrderRequest); + List detailList = item.getDetailList(); + if (CollUtil.isNotEmpty(detailList)) { + thrOrderDetailDao.delete(new LambdaQueryWrapper().eq(ThrOrderDetailEntity::getOrderIdFk, item.getBillNo())); + for (ThrOrderDetailEntity detail : detailList) { + detail.setCreateTime(thrOrderEntity.getCreateTime()); + detail.setUpdateTime(thrOrderEntity.getUpdateTime()); + thrOrderDetailDao.insert(detail); + } + } + thrOrderDao.insertOrUpdate(thrOrderEntity); + }); + } + if ((list.size() >= limit && !baseResponse.getData().getTotal().equals(-666)) || IntUtil.value(baseResponse.getData().getTotal()) == -555) { + page++; + } else { + break; + } + }else { + return ResultVOUtils.error(500, "下载第三方系统产品信息异常"); } } + //再次获取 + thrOrderEntities = thrOrderDao.selectList(w); + return this.importThrOrder(thrOrderEntities, collectOrderRequest); } - return ResultVOUtils.error("下载失败"); } From 71687a71fc23e9c9c5dd1c98c16334d23fdcb010 Mon Sep 17 00:00:00 2001 From: yewj Date: Mon, 9 Sep 2024 16:36:11 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E6=8E=89=E4=B8=AD?= =?UTF-8?q?=E9=97=B4=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/entity/basic/UdiRelevanceEntity.java | 5 + .../com/glxp/api/http/ErpBasicClient.java | 7 +- .../api/req/basic/WorkBindBusTypeRequest.java | 2 +- .../api/service/collect/DownloadFactory.java | 13 +- .../collect/IoCollectOriginService.java | 23 ++-- .../collect/down/ThrOrderDownload.java | 117 ++++++------------ 6 files changed, 61 insertions(+), 106 deletions(-) diff --git a/src/main/java/com/glxp/api/entity/basic/UdiRelevanceEntity.java b/src/main/java/com/glxp/api/entity/basic/UdiRelevanceEntity.java index 2376f1e1e..12e73bf9d 100644 --- a/src/main/java/com/glxp/api/entity/basic/UdiRelevanceEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/UdiRelevanceEntity.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; import java.util.Date; @@ -13,6 +15,9 @@ import java.util.Date; */ @Data +@Builder +@AllArgsConstructor +@NoArgsConstructor @TableName("basic_udirel") public class UdiRelevanceEntity { diff --git a/src/main/java/com/glxp/api/http/ErpBasicClient.java b/src/main/java/com/glxp/api/http/ErpBasicClient.java index be4a3b21a..4921898d6 100644 --- a/src/main/java/com/glxp/api/http/ErpBasicClient.java +++ b/src/main/java/com/glxp/api/http/ErpBasicClient.java @@ -237,16 +237,17 @@ public class ErpBasicClient { /** * 获取三方单据信息 + * * @param filterThrOrderRequest * @return */ - public BaseResponse> getThrOrders(FilterThrOrderRequest filterThrOrderRequest) { + public BaseResponse> getThrOrders(FilterThrOrderRequest filterThrOrderRequest) { ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(filterThrOrderRequest.getThirdSys()); String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/getThrOrders"; try { String response = httpOkClient.uCloudPost(url, filterThrOrderRequest); - BaseResponse> listBaseResponse = - JSONObject.parseObject(response, new TypeReference>>() { + BaseResponse> listBaseResponse = + JSONObject.parseObject(response, new TypeReference>>() { }); return listBaseResponse; diff --git a/src/main/java/com/glxp/api/req/basic/WorkBindBusTypeRequest.java b/src/main/java/com/glxp/api/req/basic/WorkBindBusTypeRequest.java index 33c4a54a9..594e2bb6a 100644 --- a/src/main/java/com/glxp/api/req/basic/WorkBindBusTypeRequest.java +++ b/src/main/java/com/glxp/api/req/basic/WorkBindBusTypeRequest.java @@ -13,7 +13,7 @@ import java.util.List; @Data public class WorkBindBusTypeRequest extends ListPageRequest { -// private List documentTypeCode; + // private List documentTypeCode; private Long workplaceCode; private String code; private String busKey; diff --git a/src/main/java/com/glxp/api/service/collect/DownloadFactory.java b/src/main/java/com/glxp/api/service/collect/DownloadFactory.java index aa3f50d6f..9e1d0c176 100644 --- a/src/main/java/com/glxp/api/service/collect/DownloadFactory.java +++ b/src/main/java/com/glxp/api/service/collect/DownloadFactory.java @@ -1,6 +1,5 @@ package com.glxp.api.service.collect; -import cn.hutool.core.util.StrUtil; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BusTypeConstant; @@ -30,22 +29,14 @@ public class DownloadFactory { */ public BaseResponse downloadOrder(CollectOrderRequest collectOrderRequest) { String busType = collectOrderRequest.getBusType(); - if (StrUtil.isBlank(busType)) { + if (busType == null) { return ResultVOUtils.error("下载失败,未配置业务类型"); } if (busType.equals(BusTypeConstant.YPCF002.getBusType())) { return ypcf002Download.downloadOrder(collectOrderRequest); - } else if (busType.equals(BusTypeConstant.CGJH001.getBusType())) { - 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())) { + } else { return thrOrderDownload.downloadOrder(collectOrderRequest); } - - return ResultVOUtils.error("下载失败,未配置业务类型"); } } diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOriginService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOriginService.java index 4097dfbdd..59b547f77 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOriginService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOriginService.java @@ -99,20 +99,20 @@ public class IoCollectOriginService { public BaseResponse downloadOrderV2(CollectOrderRequest collectOrderRequest) { //条件 String busType = collectOrderRequest.getBusType(); - if(StrUtil.isBlank(busType)){ + if (StrUtil.isBlank(busType)) { //下载工位下的类型 WorkBindBusTypeRequest workBindBusTypeRequest = new WorkBindBusTypeRequest(); workBindBusTypeRequest.setWorkplaceCode(collectOrderRequest.getWorkPlaceCode()); List sysWorkplaceDocumentResponses = sysWorkplaceDocumentDao.filterList(workBindBusTypeRequest); - if(CollUtil.isNotEmpty(sysWorkplaceDocumentResponses)){ - for (SysWorkplaceDocumentResponse sysWorkplaceDocumentResponse :sysWorkplaceDocumentResponses){ + if (CollUtil.isNotEmpty(sysWorkplaceDocumentResponses)) { + for (SysWorkplaceDocumentResponse sysWorkplaceDocumentResponse : sysWorkplaceDocumentResponses) { String documentTypeCode = sysWorkplaceDocumentResponse.getDocumentTypeCode(); collectOrderRequest.setBusType(documentTypeCode); downloadFactory.downloadOrder(collectOrderRequest); } } return ResultVOUtils.success("下载成功"); - }else{ + } else { return downloadFactory.downloadOrder(collectOrderRequest); } @@ -121,28 +121,29 @@ public class IoCollectOriginService { /** * 异常处理 + * * @param collectOrderRequest */ @Transactional(rollbackFor = Exception.class) public void errorHandle(CollectOrderRequest collectOrderRequest) { - if (StrUtil.isBlank(collectOrderRequest.getBillNo())){ + if (StrUtil.isBlank(collectOrderRequest.getBillNo())) { throw new JsonException(500, "单据号不能为空"); } - if (collectOrderRequest.getTagStatus() != 4){ + if (collectOrderRequest.getTagStatus() != 4) { throw new JsonException(500, "非异常单据,无需处理"); } - if(StrUtil.isBlank(collectOrderRequest.getBusType())){ + if (StrUtil.isBlank(collectOrderRequest.getBusType())) { throw new JsonException(500, "单据类型不能为空"); } - if(collectOrderRequest.getWorkPlaceCode() == null){ + if (collectOrderRequest.getWorkPlaceCode() == null) { throw new JsonException(500, "工位号不能为空"); } //删除异常单据 collectOrderBizService.remove(new LambdaQueryWrapper() - .eq(IoCollectOrderBiz::getOrderIdFk,collectOrderRequest.getBillNo())); + .eq(IoCollectOrderBiz::getOrderIdFk, collectOrderRequest.getBillNo())); collectOrderService.remove(new LambdaQueryWrapper() - .eq(IoCollectOrder::getBillNo,collectOrderRequest.getBillNo()) - .eq(IoCollectOrder::getTagStatus,4)); + .eq(IoCollectOrder::getBillNo, collectOrderRequest.getBillNo()) + .eq(IoCollectOrder::getTagStatus, 4)); //重新拉取 this.downloadOrderV2(collectOrderRequest); } diff --git a/src/main/java/com/glxp/api/service/collect/down/ThrOrderDownload.java b/src/main/java/com/glxp/api/service/collect/down/ThrOrderDownload.java index ac0442aa5..ce5314892 100644 --- a/src/main/java/com/glxp/api/service/collect/down/ThrOrderDownload.java +++ b/src/main/java/com/glxp/api/service/collect/down/ThrOrderDownload.java @@ -7,8 +7,10 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.glxp.api.common.res.BaseResponse; 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.ThrOrderDetailDao; +import com.glxp.api.entity.basic.UdiRelevanceEntity; import com.glxp.api.entity.collect.IoCollectOrder; import com.glxp.api.entity.collect.IoCollectOrderBiz; import com.glxp.api.entity.thrsys.ThrOrderDetailEntity; @@ -19,7 +21,7 @@ import com.glxp.api.req.thrsys.FilterThrOrderRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.thrsys.ThrOrderResponse; import com.glxp.api.service.collect.IoCollectOrderService; -import com.glxp.api.util.IntUtil; +import com.glxp.api.util.MsDateUtil; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -45,67 +47,32 @@ public class ThrOrderDownload implements IDownload { @Override public BaseResponse downloadOrder(CollectOrderRequest collectOrderRequest) { - LambdaQueryWrapper w = new LambdaQueryWrapper<>(); - w.eq(StrUtil.isNotBlank(collectOrderRequest.getBillNo()), ThrOrderEntity::getBillNo, collectOrderRequest.getBillNo()); - List thrOrderEntities = thrOrderDao.selectList(w); - if (CollUtil.isNotEmpty(thrOrderEntities)) { - return this.importThrOrder(thrOrderEntities, collectOrderRequest); - } else { - int page = 1; - int limit = 100; - FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); - filterThrOrderRequest.setLimit(limit); - filterThrOrderRequest.setBillNo(collectOrderRequest.getBillNo()); - filterThrOrderRequest.setThirdSys("thirdId"); - filterThrOrderRequest.setBusType(collectOrderRequest.getBusType()); - filterThrOrderRequest.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode()); - filterThrOrderRequest.setFromType(collectOrderRequest.getFromType()); - while (true){ - filterThrOrderRequest.setPage(page); - BaseResponse> baseResponse = erpBasicClient.getThrOrders(filterThrOrderRequest); - if (baseResponse.getCode() == 20000) { - List list = baseResponse.getData().getList(); - if (CollUtil.isNotEmpty(list)) { - list.forEach(item -> { - ThrOrderEntity thrOrderEntity = new ThrOrderEntity(); - ThrOrderEntity old = thrOrderDao.selectOne(new LambdaQueryWrapper().eq(ThrOrderEntity::getBillNo, item.getBillNo()).last("limit 1")); - BeanUtil.copyProperties(item, thrOrderEntity); - if(old == null){ - //新增 - thrOrderEntity.setCreateTime(new Date()); - thrOrderEntity.setUpdateTime(new Date()); - }else{ - //更新 - thrOrderEntity.setId(old.getId()); - thrOrderEntity.setUpdateTime(new Date()); - } - List detailList = item.getDetailList(); - if (CollUtil.isNotEmpty(detailList)) { - thrOrderDetailDao.delete(new LambdaQueryWrapper().eq(ThrOrderDetailEntity::getOrderIdFk, item.getBillNo())); - for (ThrOrderDetailEntity detail : detailList) { - detail.setCreateTime(thrOrderEntity.getCreateTime()); - detail.setUpdateTime(thrOrderEntity.getUpdateTime()); - thrOrderDetailDao.insert(detail); - } - } - thrOrderDao.insertOrUpdate(thrOrderEntity); - }); - } - if ((list.size() >= limit && !baseResponse.getData().getTotal().equals(-666)) || IntUtil.value(baseResponse.getData().getTotal()) == -555) { - page++; - } else { - break; - } - }else { - return ResultVOUtils.error(500, "下载第三方系统产品信息异常"); - } - } - //再次获取 - thrOrderEntities = thrOrderDao.selectList(w); - return this.importThrOrder(thrOrderEntities, collectOrderRequest); +// LambdaQueryWrapper w = new LambdaQueryWrapper<>(); +// w.eq(StrUtil.isNotBlank(collectOrderRequest.getBillNo()), ThrOrderEntity::getBillNo, collectOrderRequest.getBillNo()); +// List thrOrderEntities = thrOrderDao.selectList(w); +// if (CollUtil.isNotEmpty(thrOrderEntities)) { +// return this.importThrOrder(thrOrderEntities, collectOrderRequest); +// } else { + //三方拉取 + FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); + filterThrOrderRequest.setPage(1); + filterThrOrderRequest.setLimit(100); + filterThrOrderRequest.setBillNo(collectOrderRequest.getBillNo()); + filterThrOrderRequest.setThirdSys("thirdId"); + filterThrOrderRequest.setBusType(collectOrderRequest.getBusType()); + filterThrOrderRequest.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode()); + filterThrOrderRequest.setFromType(collectOrderRequest.getFromType()); + BaseResponse> baseResponse = erpBasicClient.getThrOrders(filterThrOrderRequest); + if (baseResponse.getCode() == 20000) { + List list = baseResponse.getData().getList(); + return this.importThrOrder(list, collectOrderRequest); } + return ResultVOUtils.error("下载失败"); } + // } + @Resource + UdiRelevanceDao udiRelevanceDao; /** * 下载至单据 @@ -113,41 +80,31 @@ public class ThrOrderDownload implements IDownload { * @param thrOrderEntities * @param collectOrderRequest */ - private BaseResponse importThrOrder(List thrOrderEntities, CollectOrderRequest collectOrderRequest) { + private BaseResponse importThrOrder(List thrOrderEntities, CollectOrderRequest collectOrderRequest) { List ioCollectOrderList = new ArrayList<>(); if (CollUtil.isNotEmpty(thrOrderEntities)) { - for (ThrOrderEntity thrOrder : thrOrderEntities) { + for (IoCollectOrder thrOrder : thrOrderEntities) { IoCollectOrder ioCollectOrder = new IoCollectOrder(); + BeanUtil.copyProperties(thrOrder, ioCollectOrder); StringBuilder errorMsg = new StringBuilder(); - ioCollectOrder.setBillNo(thrOrder.getBillNo()); ioCollectOrder.setFromType("HIS系统"); - ioCollectOrder.setFromCorp(null); ioCollectOrder.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode()); - ioCollectOrder.setFromCorpName(""); - ioCollectOrder.setBillTime(DateUtil.parseTime(thrOrder.getBilldate())); ioCollectOrder.setCreateTime(new Date()); ioCollectOrder.setCreateUser(collectOrderRequest.getCreateUser()); ioCollectOrder.setBackupOrderRemark1(null); ioCollectOrder.setUpdateTime(new Date()); ioCollectOrder.setSplitStatus(0); ioCollectOrder.setTagStatus(0); - List thrOrderDetailEntities = thrOrderDetailDao.selectList(new LambdaQueryWrapper().eq(ThrOrderDetailEntity::getOrderIdFk, thrOrder.getBillNo())); List bizList = new ArrayList<>(); - for (ThrOrderDetailEntity entity : thrOrderDetailEntities) { + for (IoCollectOrderBiz entity : thrOrder.getBizList()) { IoCollectOrderBiz collectOrderBiz = new IoCollectOrderBiz(); -// BasicUdirelEntity basicUdirelEntity = basicUdirelDao.selectOne(new LambdaQueryWrapper().eq(BasicUdirelEntity::getMainId, entity.getPHYSIC_CODE())); -// if (basicUdirelEntity != null) { -// collectOrderBiz.setRelId(basicUdirelEntity.getId()); -// } else { -// errorMsg.append(entity.getPHYSIC_NAME()).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); + BeanUtil.copyProperties(entity, collectOrderBiz); + UdiRelevanceEntity basicUdirelEntity = udiRelevanceDao.selectOne(new LambdaQueryWrapper().eq(UdiRelevanceEntity::getMainId, entity.getThrCode())); + if (basicUdirelEntity != null) { + collectOrderBiz.setRelId(basicUdirelEntity.getId()); + } else { + errorMsg.append(entity.getCpmctymc()).append("字典未对照").append(";"); + } collectOrderBiz.setTagStatus(1); collectOrderBiz.setUnTagCount(0); bizList.add(collectOrderBiz); From 1fc06149ec3efd50c0c78003dcfd212540646256 Mon Sep 17 00:00:00 2001 From: zane Date: Mon, 9 Sep 2024 17:11:51 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=8D=95=E6=8D=AE=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/collect/down/YPCF002Download.java | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/glxp/api/service/collect/down/YPCF002Download.java b/src/main/java/com/glxp/api/service/collect/down/YPCF002Download.java index 3b5a078fb..b0e053016 100644 --- a/src/main/java/com/glxp/api/service/collect/down/YPCF002Download.java +++ b/src/main/java/com/glxp/api/service/collect/down/YPCF002Download.java @@ -8,6 +8,7 @@ import com.glxp.api.req.basic.GetSickPrescribeRequest; import com.glxp.api.req.collect.CollectOrderRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.service.collect.IoCollectOrderService; +import com.glxp.api.util.IntUtil; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -22,19 +23,29 @@ public class YPCF002Download implements IDownload{ @Override public BaseResponse downloadOrder(CollectOrderRequest collectOrderRequest) { + int page = 1; + int limit = 100; GetSickPrescribeRequest getSickPrescribeRequest = new GetSickPrescribeRequest(); - getSickPrescribeRequest.setPage(1); - getSickPrescribeRequest.setLimit(100); + getSickPrescribeRequest.setLimit(limit); getSickPrescribeRequest.setCode(collectOrderRequest.getBillNo()); getSickPrescribeRequest.setThirdSys("thirdId"); getSickPrescribeRequest.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode()); getSickPrescribeRequest.setFromType(collectOrderRequest.getFromType()); - BaseResponse> baseResponse = erpBasicClient.getPrescribeV2(getSickPrescribeRequest); - if (baseResponse.getCode() == 20000) { - List list = baseResponse.getData().getList(); - collectOrderService.importPrescribe(list,collectOrderRequest.getBusType()); - return ResultVOUtils.success("下载成功"); + while (true){ + getSickPrescribeRequest.setPage(page); + BaseResponse> baseResponse = erpBasicClient.getPrescribeV2(getSickPrescribeRequest); + if (baseResponse.getCode() == 20000) { + List list = baseResponse.getData().getList(); + collectOrderService.importPrescribe(list,collectOrderRequest.getBusType()); + 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("下载成功"); } }