package com.glxp.api.service.collect; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.entity.basic.BasicSkPrescribeDiEntity; import com.glxp.api.entity.basic.BasicSkPrescribeEntity; import com.glxp.api.entity.basic.BasicSkPrescribeItemEntity; import com.glxp.api.http.ErpBasicClient; import com.glxp.api.req.basic.GetSickPrescribeRequest; import com.glxp.api.req.collect.CollectOrderRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.BasicSkPrescribeResponse; import com.glxp.api.service.basic.BasicSkPrescirbeDetailService; import com.glxp.api.service.basic.BasicSkPrescribeService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; /** * 原始单据下载 */ @Service public class IoCollectOriginService { @Resource private ErpBasicClient erpBasicClient; @Resource BasicSkPrescribeService basicSkPrescribeService; @Resource BasicSkPrescirbeDetailService basicSkPrescirbeDetailService; public BaseResponse downloadOrder(CollectOrderRequest collectOrderRequest) { //拉取药品处方 if (collectOrderRequest.getBusType().equals("YPCF002")) { GetSickPrescribeRequest getSickPrescribeRequest = new GetSickPrescribeRequest(); getSickPrescribeRequest.setPage(1); getSickPrescribeRequest.setLimit(100); getSickPrescribeRequest.setCode(collectOrderRequest.getBillNo()); BaseResponse> baseResponse = erpBasicClient.getPrescribe(getSickPrescribeRequest); if (baseResponse.getCode() == 20000) { List list = baseResponse.getData().getList(); List basicSkPrescribeEntities = new ArrayList<>(); list.forEach(item -> { BasicSkPrescribeEntity basicSkPrescribeEntity = new BasicSkPrescribeEntity(); BeanUtil.copyProperties(item, basicSkPrescribeEntity); basicSkPrescribeEntity.setSickerCode(item.getSickCode()); basicSkPrescribeEntity.setUpdateTime(LocalDateTime.now()); List skPrescribeItemEntities = item.getItemList(); if (CollUtil.isNotEmpty(skPrescribeItemEntities)) { basicSkPrescirbeDetailService.remove(new QueryWrapper().eq("prescribeCode", item.getCode())); for (BasicSkPrescribeItemEntity skPrescribeItemEntity : skPrescribeItemEntities) { skPrescribeItemEntity.setPrescribeCode(item.getCode()); skPrescribeItemEntity.setSickerCode(item.getSickCode()); skPrescribeItemEntity.setAdNum(basicSkPrescribeEntity.getAdNum()); skPrescribeItemEntity.setId(IdUtil.getSnowflakeNextId()); basicSkPrescirbeDetailService.save(skPrescribeItemEntity); } } basicSkPrescribeEntities.add(basicSkPrescribeEntity); basicSkPrescribeService.saveOrUpdate(basicSkPrescribeEntity); }); } } return ResultVOUtils.success("下载成功"); } }