fix: 修复原始单据下载本地单据

dev_no_inv
chenhc 9 months ago
parent a250ce1700
commit 77b0bb79ce

@ -16,6 +16,7 @@ import com.glxp.api.req.basic.GetSickPrescribeRequest;
import com.glxp.api.req.basic.WorkBindBusTypeRequest;
import com.glxp.api.req.collect.CollectOrderBizRequest;
import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.req.inout.FilterOrderRequest;
import com.glxp.api.req.thrsys.FilterThrOrderRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.SysWorkplaceDocumentResponse;
@ -24,10 +25,7 @@ import com.glxp.api.res.collect.CollectOrderBizResponse;
import com.glxp.api.res.collect.IoCollectOrderResponse;
import com.glxp.api.service.basic.BasicCollectUserService;
import com.glxp.api.service.basic.SysWorkplaceDocumentService;
import com.glxp.api.service.collect.DownloadFactory;
import com.glxp.api.service.collect.IoCollectOrderBizOriginService;
import com.glxp.api.service.collect.IoCollectOrderOriginService;
import com.glxp.api.service.collect.IoCollectOriginService;
import com.glxp.api.service.collect.*;
import com.glxp.api.util.IntUtil;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -62,6 +60,8 @@ public class IoCollectOriginController extends BaseController {
SysWorkplaceDocumentService sysWorkplaceDocumentService;
@Resource
private ErpBasicClient erpBasicClient;
@Resource
private IoCollectOrderService ioCollectOrderService;
@PostMapping("/udiwms/basic/collect/origin/order/download")
public BaseResponse downloadOrder(@RequestBody CollectOrderRequest collectOrderRequest) {
@ -107,7 +107,22 @@ public class IoCollectOriginController extends BaseController {
BaseResponse<PageSimpleResponse<IoCollectOrder>> baseResponse = erpBasicClient.getPrescribeQx(getSickPrescribeRequest);
return baseResponse;
} else {
}else if (busType.contains("SC")) {
FilterOrderRequest filterOrderRequest = new FilterOrderRequest();
filterOrderRequest.setStatus(7);
filterOrderRequest.setAction(busType);
filterOrderRequest.setProductType(null);
filterOrderRequest.setLimit(collectOrderRequest.getLimit());
filterOrderRequest.setPage(collectOrderRequest.getPage());
filterOrderRequest.setStartTime(collectOrderRequest.getStartTime());
filterOrderRequest.setEndTime(collectOrderRequest.getEndTime());
filterOrderRequest.setBillNo(collectOrderRequest.getBillNo());
filterOrderRequest.setFromCorp(collectOrderRequest.getFromCorpName());
filterOrderRequest.setAction(collectOrderRequest.getBusType());
filterOrderRequest.setKeyWords(collectOrderRequest.getKeyWords());
BaseResponse<PageSimpleResponse<IoCollectOrder>> baseResponse = ioCollectOrderService.selectImportUdi(filterOrderRequest);
return baseResponse;
}else {
FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest();
filterThrOrderRequest.setLimit(collectOrderRequest.getLimit());
filterThrOrderRequest.setBillNo(collectOrderRequest.getBillNo());

@ -22,6 +22,8 @@ public class DownloadFactory {
@Resource
private ThrOrderDownload thrOrderDownload;
@Resource
private IoCollectOrderService ioCollectOrderService;
/**
*
@ -38,6 +40,8 @@ public class DownloadFactory {
return ypcf002Download.downloadOrder(collectOrderRequest);
}else if (busType.equals(BusTypeConstant.QXCF001.getBusType())) {
return qxcf001Download.downloadOrder(collectOrderRequest);
}else if (busType.contains("SC")) {
return ioCollectOrderService.importUdi(collectOrderRequest);
} else {
return thrOrderDownload.downloadOrder(collectOrderRequest);
}

@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant;
@ -49,6 +50,7 @@ import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.collect.CollectOrderBizResponse;
import com.glxp.api.res.collect.IoCollectOrderResponse;
import com.glxp.api.res.inout.IoOrderResponse;
import com.glxp.api.res.inout.IoStatOrderResponse;
import com.glxp.api.res.thrsys.ThrInvProductResponse;
import com.glxp.api.service.auth.SysWorkplaceService;
import com.glxp.api.service.basic.*;
@ -254,26 +256,47 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
}
// TODO: 2024/10/14 下载本地单据类型
public void importUdi(String action) {
public BaseResponse importUdi(CollectOrderRequest collectOrderRequest) {
FilterOrderRequest filterOrderRequest = new FilterOrderRequest();
filterOrderRequest.setStatus(7);
filterOrderRequest.setAction(action);
filterOrderRequest.setAction(collectOrderRequest.getBusType());
filterOrderRequest.setProductType(null);
filterOrderRequest.setLimit(collectOrderRequest.getLimit());
filterOrderRequest.setPage(collectOrderRequest.getPage());
filterOrderRequest.setStartTime(collectOrderRequest.getStartTime());
filterOrderRequest.setEndTime(collectOrderRequest.getEndTime());
filterOrderRequest.setBillNo(collectOrderRequest.getBillNo());
filterOrderRequest.setFromCorp(collectOrderRequest.getFromCorpName());
filterOrderRequest.setAction(collectOrderRequest.getBusType());
filterOrderRequest.setKeyWords(collectOrderRequest.getKeyWords());
List<IoOrderResponse> list = orderService.filterList(filterOrderRequest);
for (IoOrderResponse ioOrderEntity : list) {
if (collectOrderMapper.exists(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, ioOrderEntity.getBillNo()))) {
continue;
}
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(ioOrderEntity.getAction());
if (sysWorkplaceDocumentEntity == null)
continue;
String mainAction = ioOrderEntity.getMainAction();
String fromCorpName = "";
String shipperName = "";
if (mainAction.equals(ConstantType.TYPE_PUT)){
shipperName = ioOrderEntity.getFromName();
fromCorpName = ioOrderEntity.getDeptName();
}else {
shipperName = ioOrderEntity.getDeptName();
fromCorpName = ioOrderEntity.getFromName();
}
IoCollectOrder collectOrder = IoCollectOrder.builder()
.billNo(ioOrderEntity.getBillNo())
.fromType("UDI系统")
.busType(ioOrderEntity.getAction())
.fromCorp(ioOrderEntity.getFromName())
.fromCorpName(fromCorpName)
.billTime(ioOrderEntity.getCreateTime())
.shipperName(shipperName)
.createTime(ioOrderEntity.getCreateTime())
.createUser(ioOrderEntity.getCreateUser())
.updateTime(new Date())
@ -285,8 +308,13 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
collectOrder.setTagStatus(1);
}
save(collectOrder);
IoCollectOrderOrigin ioCollectOrderOrigin = new IoCollectOrderOrigin();
BeanUtils.copyProperties(collectOrder,ioCollectOrderOrigin);
collectOrderOriginService.saveOrUpdate(ioCollectOrderOrigin);
List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(ioOrderEntity.getBillNo());
List<IoCollectOrderBiz> collectOrderBizs = new ArrayList<>();
List<IoCollectOrderBizOrigin> collectOrderOriginBizs = new ArrayList<>();
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(bizEntity.getBindRlFk() + "");
IoCollectOrderBiz collectOrderBiz = IoCollectOrderBiz.builder().orderIdFk(collectOrder.getBillNo())
@ -310,14 +338,100 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
collectOrderBiz.setMeasureUnit(udiRelevanceResponse.getPrepnUnit());
}
collectOrderBizs.add(collectOrderBiz);
IoCollectOrderBizOrigin ioCollectOrderBizOrigin = new IoCollectOrderBizOrigin();
BeanUtils.copyProperties(collectOrderBiz,ioCollectOrderBizOrigin);
ioCollectOrderBizOrigin.setId(null);
collectOrderOriginBizs.add(ioCollectOrderBizOrigin);
}
if (CollUtil.isNotEmpty(collectOrderBizs)) {
collectOrderBizService.saveBatch(collectOrderBizs);
}
if (CollUtil.isNotEmpty(collectOrderOriginBizs)) {
collectOrderBizOriginService.saveBatch(collectOrderOriginBizs);
}
}
return ResultVOUtils.success("下载成功");
}
public BaseResponse<PageSimpleResponse<IoCollectOrder>> selectImportUdi(FilterOrderRequest filterOrderRequest) {
List<IoCollectOrder> ioCollectOrders = new ArrayList<>();
List<IoOrderResponse> list = orderService.filterList(filterOrderRequest);
PageInfo<IoOrderResponse> pageInfo = new PageInfo<>(list);
for (IoOrderResponse ioOrderEntity : list) {
if (collectOrderMapper.exists(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, ioOrderEntity.getBillNo()))) {
continue;
}
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(ioOrderEntity.getAction());
if (sysWorkplaceDocumentEntity == null)
continue;
String mainAction = ioOrderEntity.getMainAction();
String fromCorpName = "";
String shipperName = "";
if (mainAction.equals(ConstantType.TYPE_PUT)){
shipperName = ioOrderEntity.getFromName();
fromCorpName = ioOrderEntity.getDeptName();
}else {
shipperName = ioOrderEntity.getDeptName();
fromCorpName = ioOrderEntity.getFromName();
}
IoCollectOrder collectOrder = IoCollectOrder.builder()
.billNo(ioOrderEntity.getBillNo())
.fromType("UDI系统")
.busType(ioOrderEntity.getAction())
.fromCorp(ioOrderEntity.getFromName())
.fromCorpName(fromCorpName)
.billTime(ioOrderEntity.getCreateTime())
.shipperName(shipperName)
.createTime(ioOrderEntity.getCreateTime())
.createUser(ioOrderEntity.getCreateUser())
.updateTime(new Date())
.orderCirType(sysWorkplaceDocumentEntity.getOrderCirType())
.splitStatus(0)
.tagStatus(0)
.build();
if (collectOrder.getWorkPlaceCode() != null) {
collectOrder.setTagStatus(1);
}
List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(ioOrderEntity.getBillNo());
List<IoCollectOrderBiz> collectOrderBizs = new ArrayList<>();
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(bizEntity.getBindRlFk() + "");
IoCollectOrderBiz collectOrderBiz = IoCollectOrderBiz.builder().orderIdFk(collectOrder.getBillNo())
.relId(bizEntity.getBindRlFk())
.thrCode(udiRelevanceResponse.getMainId())
.ybbm(udiRelevanceResponse.getYbbm())
.payFeeCode(udiRelevanceResponse.getPayFeeCode())
.cpmctymc(bizEntity.getCoName())
.nameCode(bizEntity.getNameCode())
.ggxh(bizEntity.getSpec())
.batchNo(bizEntity.getBatchNo())
.productDate(bizEntity.getProductDate())
.expireDate(bizEntity.getExpireDate())
.count(bizEntity.getCount())
.measureUnit(bizEntity.getMeasname())
.tagStatus(1)
.unTagCount(bizEntity.getCount()).build();
if (IntUtil.value(udiRelevanceResponse.getProductsType()) == 2) {
collectOrderBiz.setGgxh(udiRelevanceResponse.getBzgg());
collectOrderBiz.setMeasureUnit(udiRelevanceResponse.getPrepnUnit());
}
collectOrderBizs.add(collectOrderBiz);
}
collectOrder.setBizList(collectOrderBizs);
ioCollectOrders.add(collectOrder);
}
PageInfo<IoCollectOrder> pageInfoReturn = new PageInfo<>(ioCollectOrders);
BeanUtils.copyProperties(pageInfo,pageInfoReturn);
pageInfoReturn.setList(ioCollectOrders);
return ResultVOUtils.success(pageInfoReturn);
}
public void importPrescribe(List<BasicSkPrescribeEntity> basicSkPrescribeEntities) {
//下载处方
if (CollUtil.isEmpty(basicSkPrescribeEntities))

Loading…
Cancel
Save