workplace
zane 10 months ago
parent 7e698fc720
commit 03b9171a75

@ -0,0 +1,33 @@
package com.glxp.api.constant;
public enum BusTypeConstant {
YPCF002("药品处方单","YPCF002"),
CGJH001("采购计划","CGJH001"),
LYRK("领药入库","LYRK"),
GMRK("购买入库","GMRK"),
LYCK("领药出库","LYCK"),
;
private String name;
private String busType;
BusTypeConstant(String name, String busType) {
this.name = name;
this.busType = busType;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getBusType() {
return busType;
}
public void setBusType(String busType) {
this.busType = busType;
}
}

@ -0,0 +1,51 @@
package com.glxp.api.service.collect;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.BusTypeConstant;
import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.service.collect.down.*;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
*
*/
@Component
public class DownloadFactory {
@Resource
private YPCF002Download ypcf002Download;
@Resource
private LYRKDownload lyrkDownload;
@Resource
private GMRKDownload gmrkDownload;
@Resource
private LYCKDownload lyckDownload;
/**
*
* @param collectOrderRequest
* @return
*/
public BaseResponse downloadOrder(CollectOrderRequest collectOrderRequest){
String busType = collectOrderRequest.getBusType();
if(busType == null){
return ResultVOUtils.error("下载失败,未配置业务类型");
}
if(busType.equals(BusTypeConstant.YPCF002.getBusType())){
return ypcf002Download.downloadOrder(collectOrderRequest);
} else if(busType.equals(BusTypeConstant.CGJH001.getBusType())){
return ResultVOUtils.error("下载失败,未配置业务类型");
} else if(busType.equals(BusTypeConstant.LYRK.getBusType())){
return lyrkDownload.downloadOrder(collectOrderRequest);
} else if(busType.equals(BusTypeConstant.GMRK.getBusType())){
return gmrkDownload.downloadOrder(collectOrderRequest);
} else if(busType.equals(BusTypeConstant.LYCK.getBusType())){
return lyckDownload.downloadOrder(collectOrderRequest);
}
return ResultVOUtils.error("下载失败,未配置业务类型");
}
}

@ -2,7 +2,6 @@ package com.glxp.api.service.collect;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -17,7 +16,6 @@ import com.glxp.api.exception.JsonException;
import com.glxp.api.http.ErpBasicClient;
import com.glxp.api.req.basic.GetSickPrescribeRequest;
import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.req.inout.FilterOrderRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.BasicSkPrescribeResponse;
import com.glxp.api.service.basic.*;
@ -47,6 +45,8 @@ public class IoCollectOriginService {
IoCollectOrderService collectOrderService;
@Resource
IoCollectOrderBizService collectOrderBizService;
@Resource
private DownloadFactory downloadFactory;
public BaseResponse downloadOrder(CollectOrderRequest collectOrderRequest) {
@ -90,23 +90,7 @@ public class IoCollectOriginService {
}
public BaseResponse downloadOrderV2(CollectOrderRequest collectOrderRequest) {
//拉取药品处方
if (collectOrderRequest.getBusType().equals("YPCF002")) {
GetSickPrescribeRequest getSickPrescribeRequest = new GetSickPrescribeRequest();
getSickPrescribeRequest.setPage(1);
getSickPrescribeRequest.setLimit(100);
getSickPrescribeRequest.setCode(collectOrderRequest.getBillNo());
getSickPrescribeRequest.setThirdSys("thirdId");
getSickPrescribeRequest.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode());
getSickPrescribeRequest.setFromType(collectOrderRequest.getFromType());
BaseResponse<PageSimpleResponse<IoCollectOrder>> baseResponse = erpBasicClient.getPrescribeV2(getSickPrescribeRequest);
if (baseResponse.getCode() == 20000) {
List<IoCollectOrder> list = baseResponse.getData().getList();
collectOrderService.importPrescribe(list,collectOrderRequest.getBusType());
return ResultVOUtils.success("下载成功");
}
}
return ResultVOUtils.error("下载失败");
return downloadFactory.downloadOrder(collectOrderRequest);
}

@ -0,0 +1,15 @@
package com.glxp.api.service.collect.down;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.req.collect.CollectOrderRequest;
import org.springframework.stereotype.Service;
@Service
public class GMRKDownload implements IDownload{
@Override
public BaseResponse downloadOrder(CollectOrderRequest collectOrderRequest) {
return ResultVOUtils.error("下载失败");
}
}

@ -0,0 +1,12 @@
package com.glxp.api.service.collect.down;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.req.collect.CollectOrderRequest;
/**
*
*/
public interface IDownload {
BaseResponse downloadOrder(CollectOrderRequest collectOrderRequest);
}

@ -0,0 +1,40 @@
package com.glxp.api.service.collect.down;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.collect.IoCollectOrder;
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.service.collect.IoCollectOrderService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class LYCKDownload implements IDownload{
@Resource
private ErpBasicClient erpBasicClient;
@Resource
private IoCollectOrderService collectOrderService;
@Override
public BaseResponse downloadOrder(CollectOrderRequest collectOrderRequest) {
GetSickPrescribeRequest getSickPrescribeRequest = new GetSickPrescribeRequest();
getSickPrescribeRequest.setPage(1);
getSickPrescribeRequest.setLimit(100);
getSickPrescribeRequest.setCode(collectOrderRequest.getBillNo());
getSickPrescribeRequest.setThirdSys("thirdId");
getSickPrescribeRequest.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode());
getSickPrescribeRequest.setFromType(collectOrderRequest.getFromType());
BaseResponse<PageSimpleResponse<IoCollectOrder>> baseResponse = erpBasicClient.getPrescribeV2(getSickPrescribeRequest);
if (baseResponse.getCode() == 20000) {
List<IoCollectOrder> list = baseResponse.getData().getList();
collectOrderService.importPrescribe(list,collectOrderRequest.getBusType());
return ResultVOUtils.success("下载成功");
}
return ResultVOUtils.error("下载失败");
}
}

@ -0,0 +1,15 @@
package com.glxp.api.service.collect.down;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.req.collect.CollectOrderRequest;
import org.springframework.stereotype.Service;
@Service
public class LYRKDownload implements IDownload {
@Override
public BaseResponse downloadOrder(CollectOrderRequest collectOrderRequest) {
return ResultVOUtils.error("下载失败");
}
}

@ -0,0 +1,40 @@
package com.glxp.api.service.collect.down;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.collect.IoCollectOrder;
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.service.collect.IoCollectOrderService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class YPCF002Download implements IDownload{
@Resource
private ErpBasicClient erpBasicClient;
@Resource
private IoCollectOrderService collectOrderService;
@Override
public BaseResponse downloadOrder(CollectOrderRequest collectOrderRequest) {
GetSickPrescribeRequest getSickPrescribeRequest = new GetSickPrescribeRequest();
getSickPrescribeRequest.setPage(1);
getSickPrescribeRequest.setLimit(100);
getSickPrescribeRequest.setCode(collectOrderRequest.getBillNo());
getSickPrescribeRequest.setThirdSys("thirdId");
getSickPrescribeRequest.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode());
getSickPrescribeRequest.setFromType(collectOrderRequest.getFromType());
BaseResponse<PageSimpleResponse<IoCollectOrder>> baseResponse = erpBasicClient.getPrescribeV2(getSickPrescribeRequest);
if (baseResponse.getCode() == 20000) {
List<IoCollectOrder> list = baseResponse.getData().getList();
collectOrderService.importPrescribe(list,collectOrderRequest.getBusType());
return ResultVOUtils.success("下载成功");
}
return ResultVOUtils.error("下载失败");
}
}
Loading…
Cancel
Save