|
|
|
package com.glxp.api.service.sync;
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
import com.glxp.api.constant.ConstantStatus;
|
|
|
|
import com.glxp.api.entity.inout.*;
|
|
|
|
import com.glxp.api.entity.purchase.PurOrderDetailEntity;
|
|
|
|
import com.glxp.api.entity.purchase.PurOrderEntity;
|
|
|
|
import com.glxp.api.entity.sync.SyncDataChangeBustypesEntity;
|
|
|
|
import com.glxp.api.entity.system.SyncDataBustypeEntity;
|
|
|
|
import com.glxp.api.entity.system.SyncDataPurTypeEntity;
|
|
|
|
import com.glxp.api.req.inout.FilterOrderRequest;
|
|
|
|
import com.glxp.api.req.sync.SpsSyncDataRequest;
|
|
|
|
import com.glxp.api.res.sync.SpsSyncBusOrderResponse;
|
|
|
|
import com.glxp.api.res.sync.SpsSyncOrderResponse;
|
|
|
|
import com.glxp.api.res.system.SyncDataSetResponse;
|
|
|
|
import com.glxp.api.service.inout.*;
|
|
|
|
import com.glxp.api.service.purchase.PurOrderDetailService;
|
|
|
|
import com.glxp.api.service.purchase.PurOrderService;
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
@Service
|
|
|
|
public class UpBasicService {
|
|
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
SyncDataSetService syncDataSetService;
|
|
|
|
|
|
|
|
|
|
|
|
//已完成扫码单据
|
|
|
|
@Resource
|
|
|
|
IoOrderService orderService;
|
|
|
|
@Resource
|
|
|
|
IoCodeService codesService;
|
|
|
|
@Resource
|
|
|
|
IoOrderDetailBizService orderDetailBizService;
|
|
|
|
@Resource
|
|
|
|
IoOrderDetailCodeService orderDetailCodeService;
|
|
|
|
@Resource
|
|
|
|
IoOrderDetailResultService orderDetailResultService;
|
|
|
|
@Resource
|
|
|
|
PurOrderService purOrderService;
|
|
|
|
@Resource
|
|
|
|
PurOrderDetailService purOrderDetailService;
|
|
|
|
|
|
|
|
public SpsSyncOrderResponse upAllOrder(SpsSyncDataRequest spsSyncDataRequest) {
|
|
|
|
SpsSyncOrderResponse syncOrderResponse = new SpsSyncOrderResponse();
|
|
|
|
//查询数据同步设置
|
|
|
|
SyncDataSetResponse syncDataSetEntity = syncDataSetService.selectSet();
|
|
|
|
List<IoOrderEntity> orderEntities = new ArrayList<>();
|
|
|
|
FilterOrderRequest orderFilterRequest = new FilterOrderRequest();
|
|
|
|
BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest);
|
|
|
|
if (CollUtil.isNotEmpty(syncDataSetEntity.getBusTypes())) {
|
|
|
|
for (SyncDataBustypeEntity syncDataBustypeEntity : syncDataSetEntity.getBusTypes()) {
|
|
|
|
List<IoOrderEntity> temps = orderService.findByStatus(syncDataBustypeEntity.getAction(), syncDataBustypeEntity.getOrderStatus());
|
|
|
|
if (CollUtil.isNotEmpty(temps)) {
|
|
|
|
orderEntities.addAll(temps);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
syncOrderResponse.setOrderEntities(orderEntities);
|
|
|
|
List<IoCodeEntity> codeEntities = new ArrayList<>();
|
|
|
|
List<IoOrderDetailBizEntity> orderDetailBizEntities = new ArrayList<>();
|
|
|
|
List<IoOrderDetailCodeEntity> orderDetailCodeEntities = new ArrayList<>();
|
|
|
|
List<IoOrderDetailResultEntity> orderDetailResultEntities = new ArrayList<>();
|
|
|
|
if (CollUtil.isNotEmpty(orderEntities)) {
|
|
|
|
for (IoOrderEntity orderEntity : orderEntities) {
|
|
|
|
|
|
|
|
List<IoCodeEntity> codes = codesService.findByOrderId(orderEntity.getBillNo());
|
|
|
|
if (CollUtil.isNotEmpty(codes)) {
|
|
|
|
codeEntities.addAll(codes);
|
|
|
|
}
|
|
|
|
|
|
|
|
List<IoOrderDetailBizEntity> bizEntities = orderDetailBizService.findByOrderId(orderEntity.getBillNo());
|
|
|
|
if (CollUtil.isNotEmpty(bizEntities)) {
|
|
|
|
orderDetailBizEntities.addAll(bizEntities);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
List<IoOrderDetailCodeEntity> detailCodeEntities = orderDetailCodeService.findByOrderId(orderEntity.getBillNo());
|
|
|
|
if (CollUtil.isNotEmpty(detailCodeEntities)) {
|
|
|
|
orderDetailCodeEntities.addAll(detailCodeEntities);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
List<IoOrderDetailResultEntity> detailResultEntities = orderDetailResultService.findByOrderId(orderEntity.getBillNo());
|
|
|
|
if (CollUtil.isNotEmpty(detailResultEntities)) {
|
|
|
|
orderDetailResultEntities.addAll(detailResultEntities);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
syncOrderResponse.setOrderDetailBizEntities(orderDetailBizEntities);
|
|
|
|
syncOrderResponse.setOrderDetailCodeEntities(orderDetailCodeEntities);
|
|
|
|
syncOrderResponse.setOrderDetailResultEntities(orderDetailResultEntities);
|
|
|
|
return syncOrderResponse;
|
|
|
|
}
|
|
|
|
|
|
|
|
public SpsSyncBusOrderResponse upAllBusOrder(SpsSyncDataRequest spsSyncDataRequest) {
|
|
|
|
SpsSyncBusOrderResponse syncOrderResponse = new SpsSyncBusOrderResponse();
|
|
|
|
//查询数据同步设置
|
|
|
|
SyncDataSetResponse syncDataSetEntity = syncDataSetService.selectSet();
|
|
|
|
List<PurOrderEntity> purOrderEntities = new ArrayList<>();
|
|
|
|
FilterOrderRequest orderFilterRequest = new FilterOrderRequest();
|
|
|
|
BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest);
|
|
|
|
if (CollUtil.isNotEmpty(syncDataSetEntity.getChangeBusTypes())) {
|
|
|
|
for (SyncDataChangeBustypesEntity syncDataChangeBustypesEntity : syncDataSetEntity.getChangeBusTypes()) {
|
|
|
|
if (syncDataChangeBustypesEntity.getAction().equals(ConstantStatus.BUS_ORDER_CGDD)) {
|
|
|
|
List<PurOrderEntity> temps = purOrderService.findByStatus(syncDataChangeBustypesEntity.getAction(), syncDataChangeBustypesEntity.getOrderStatus());
|
|
|
|
if (CollUtil.isNotEmpty(temps)) {
|
|
|
|
purOrderEntities.addAll(temps);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
syncOrderResponse.setPurOrderEntities(purOrderEntities);
|
|
|
|
List<PurOrderDetailEntity> purOrderDetailEntities = new ArrayList<>();
|
|
|
|
if (CollUtil.isNotEmpty(purOrderEntities)) {
|
|
|
|
for (PurOrderEntity orderEntity : purOrderEntities) {
|
|
|
|
List<PurOrderDetailEntity> detailResultEntities = purOrderDetailService.findByOrderId(orderEntity.getBillNo());
|
|
|
|
if (CollUtil.isNotEmpty(detailResultEntities)) {
|
|
|
|
purOrderDetailEntities.addAll(detailResultEntities);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
syncOrderResponse.setPurOrderDetailEntities(purOrderDetailEntities);
|
|
|
|
return syncOrderResponse;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|