同步设置,同步日志记录优化修改
parent
e956e8f0da
commit
536652ec18
@ -0,0 +1,308 @@
|
||||
package com.glxp.sale.admin.controller.basic;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.glxp.sale.admin.constant.ConstantStatus;
|
||||
import com.glxp.sale.admin.dao.basic.UdiInfoDao;
|
||||
import com.glxp.sale.admin.entity.basic.*;
|
||||
import com.glxp.sale.admin.entity.info.CompanyProductRelevanceEntity;
|
||||
import com.glxp.sale.admin.entity.inout.ErpOrderEntity;
|
||||
import com.glxp.sale.admin.entity.inout.OrderEntity;
|
||||
import com.glxp.sale.admin.entity.inout.WarehouseEntity;
|
||||
import com.glxp.sale.admin.entity.inventory.InvWarehouseEntity;
|
||||
import com.glxp.sale.admin.entity.receipt.ProductInfoEntity;
|
||||
import com.glxp.sale.admin.entity.thrsys.*;
|
||||
import com.glxp.sale.admin.req.basic.*;
|
||||
import com.glxp.sale.admin.req.info.FilterCompanyProductRelevanceRequest;
|
||||
import com.glxp.sale.admin.req.inout.OrderFilterRequest;
|
||||
import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest;
|
||||
import com.glxp.sale.admin.req.receipt.ProductInfoFilterRequest;
|
||||
import com.glxp.sale.admin.req.thrsys.*;
|
||||
import com.glxp.sale.admin.res.basic.SpSyncUdiResponse;
|
||||
import com.glxp.sale.admin.res.basic.SpsSyncBusResponse;
|
||||
import com.glxp.sale.admin.res.basic.SpsSyncDataResponse;
|
||||
import com.glxp.sale.admin.res.basic.SpsSyncOrderResponse;
|
||||
import com.glxp.sale.admin.res.param.SyncDataSetResponse;
|
||||
import com.glxp.sale.admin.service.basic.*;
|
||||
import com.glxp.sale.admin.service.info.CompanyProductRelevanceService;
|
||||
import com.glxp.sale.admin.service.inout.CodesService;
|
||||
import com.glxp.sale.admin.service.inout.OrderDetailService;
|
||||
import com.glxp.sale.admin.service.inout.OrderService;
|
||||
import com.glxp.sale.admin.service.inventory.InvWarehouseService;
|
||||
import com.glxp.sale.admin.service.param.SyncDataSetService;
|
||||
import com.glxp.sale.admin.service.receipt.ProductInfoService;
|
||||
import com.glxp.sale.admin.service.thrsys.*;
|
||||
import com.glxp.sale.admin.util.BeanUtils;
|
||||
import com.glxp.sale.common.res.BaseResponse;
|
||||
import com.glxp.sale.common.util.ResultVOUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class SpsSyncDownloadService {
|
||||
|
||||
//基础信息
|
||||
@Resource
|
||||
InvWarehouseService invWarehouseService;
|
||||
@Resource
|
||||
UdiRelevanceService udiRelevanceService;
|
||||
@Resource
|
||||
UdiInfoDao udiInfoDao;
|
||||
@Resource
|
||||
BasicUnitMaintainService basicUnitMaintainService;
|
||||
@Resource
|
||||
ThrInvWarehouseService thrInvWarehouseService;
|
||||
@Resource
|
||||
ThrCorpService thrCorpService;
|
||||
@Resource
|
||||
ThrProductsService thrProductsService;
|
||||
@Resource
|
||||
ThrOrderService thrOrderService;
|
||||
@Resource
|
||||
ThrOrderDetailService thrOrderDetailService;
|
||||
@Resource
|
||||
private CompanyProductRelevanceService companyProductRelevanceService;
|
||||
@Resource
|
||||
private SyncDataSetService syncDataSetService;
|
||||
|
||||
public BaseResponse findProductInfo(SpsSyncDataRequest spsSyncDataRequest) {
|
||||
|
||||
SpsSyncDataResponse syncDataResponse = new SpsSyncDataResponse();
|
||||
SyncDataSetResponse syncDataSetEntity = syncDataSetService.selectSet();
|
||||
if (syncDataSetEntity.isBasicInv()) {
|
||||
//仓库字典
|
||||
FilterInvWarehouseRequest filterInvWarehouseRequest = new FilterInvWarehouseRequest();
|
||||
filterInvWarehouseRequest.setLastUpdateTime(spsSyncDataRequest.getLastUpdateTime());
|
||||
List<InvWarehouseEntity> invWarehouseEntities = invWarehouseService.filterGroupInvWarehouse(filterInvWarehouseRequest);
|
||||
syncDataResponse.setInvWarehouseEntities(invWarehouseEntities);
|
||||
}
|
||||
|
||||
if (syncDataSetEntity.isBasicProducts()) {
|
||||
//耗材字典
|
||||
FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest();
|
||||
filterUdiInfoRequest.setLastUpdateTime(spsSyncDataRequest.getLastUpdateTime());
|
||||
List<UdiRelevanceEntity> udiRelevanceEntities = udiRelevanceService.filterUdiEntity(filterUdiInfoRequest);
|
||||
List<String> results = new ArrayList<>();
|
||||
udiRelevanceEntities.forEach(
|
||||
item -> {
|
||||
results.add(item.getUuid() + "");
|
||||
}
|
||||
);
|
||||
List<UdiInfoEntity> udiInfoEntities = new ArrayList<>();
|
||||
if (results.size() > 0)
|
||||
udiInfoEntities = udiInfoDao.batchSelectByUuid(results);
|
||||
//供应商产品信息关联表
|
||||
FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest = new FilterCompanyProductRelevanceRequest();
|
||||
BeanUtils.copyProperties(spsSyncDataRequest, filterCompanyProductRelevanceRequest);
|
||||
List<CompanyProductRelevanceEntity> companyProductRelevanceEntities = companyProductRelevanceService.filterCompanyProductRelevance(filterCompanyProductRelevanceRequest);
|
||||
|
||||
syncDataResponse.setCompanyProductRelevanceEntities(companyProductRelevanceEntities);
|
||||
syncDataResponse.setUdiInfoEntities(udiInfoEntities);
|
||||
syncDataResponse.setUdiRelevanceEntities(udiRelevanceEntities);
|
||||
}
|
||||
|
||||
|
||||
if (syncDataSetEntity.isBasicCorp()) {
|
||||
//往来单位字典
|
||||
BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest = new BasicUnitMaintainFilterRequest();
|
||||
basicUnitMaintainFilterRequest.setLastUpdateTime(spsSyncDataRequest.getLastUpdateTime());
|
||||
List<BasicUnitMaintainEntity> basicUnitMaintainEntities = basicUnitMaintainService.filterList(basicUnitMaintainFilterRequest);
|
||||
syncDataResponse.setBasicUnitMaintainEntities(basicUnitMaintainEntities);
|
||||
}
|
||||
|
||||
if (syncDataSetEntity.isBasicThirdInv()) {
|
||||
//第三方仓库信息
|
||||
FilterThrInvWarehouseRequest filterThrInvWarehouseRequest = new FilterThrInvWarehouseRequest();
|
||||
filterThrInvWarehouseRequest.setLastUpdateTime(spsSyncDataRequest.getLastUpdateTime());
|
||||
List<ThrInvWarehouseEntity> thrInvWarehouseEntities = thrInvWarehouseService.filterThrInvWarehouse(filterThrInvWarehouseRequest);
|
||||
syncDataResponse.setThrInvWarehouseEntities(thrInvWarehouseEntities);
|
||||
}
|
||||
|
||||
|
||||
if (syncDataSetEntity.isBasicThirdCorp()) {
|
||||
//第三方往来单位
|
||||
FilterThrCorpRequest filterThrCorpRequest = new FilterThrCorpRequest();
|
||||
BeanUtils.copyProperties(spsSyncDataRequest, filterThrCorpRequest);
|
||||
List<ThrCorpEntity> thrCorpEntities = thrCorpService.filterThrCorps(filterThrCorpRequest);
|
||||
syncDataResponse.setThrCorpEntities(thrCorpEntities);
|
||||
}
|
||||
|
||||
if (syncDataSetEntity.isBasicThirdProducts()) {
|
||||
//第三方产品信息
|
||||
FilterThrProductsRequest filterThrProductsRequest = new FilterThrProductsRequest();
|
||||
BeanUtils.copyProperties(spsSyncDataRequest, filterThrProductsRequest);
|
||||
List<ThrProductsEntity> thrProductsEntities = thrProductsService.filterThrProductsRequest(filterThrProductsRequest);
|
||||
syncDataResponse.setThrProductsEntities(thrProductsEntities);
|
||||
}
|
||||
|
||||
if (syncDataSetEntity.isBasicThirdBusOrder()) {
|
||||
//第三方业务单据
|
||||
FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest();
|
||||
BeanUtils.copyProperties(spsSyncDataRequest, filterThrOrderRequest);
|
||||
List<ThrOrderDetailEntity> allOrderDetailEntities = new ArrayList<>();
|
||||
List<ThrOrderEntity> thrOrderEntities = thrOrderService.filterThrOrder(filterThrOrderRequest);
|
||||
for (ThrOrderEntity thrOrderEntity : thrOrderEntities) {
|
||||
FilterThrOrderDetailRequest filterThrOrderDetailRequest = new FilterThrOrderDetailRequest();
|
||||
filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + "");
|
||||
List<ThrOrderDetailEntity> thrOrderDetailEntities = thrOrderDetailService.filterThrOrderDetailDetail(filterThrOrderDetailRequest);
|
||||
if (!thrOrderDetailEntities.isEmpty()) {
|
||||
allOrderDetailEntities.addAll(thrOrderDetailEntities);
|
||||
}
|
||||
}
|
||||
syncDataResponse.setThrOrderDetailEntities(allOrderDetailEntities);
|
||||
syncDataResponse.setThrOrderEntities(thrOrderEntities);
|
||||
}
|
||||
return ResultVOUtils.success(syncDataResponse);
|
||||
}
|
||||
|
||||
//单据类型
|
||||
@Resource
|
||||
BussinessTypeService bussinessTypeService;
|
||||
@Resource
|
||||
BussinessLocalTypeService bussinessLocalTypeService;
|
||||
@Resource
|
||||
BussinessOriginTypeService bussinessOriginTypeService;
|
||||
|
||||
|
||||
@GetMapping("sps/sync/busType")
|
||||
public BaseResponse findBusType(SpsSyncDataRequest spsSyncDataRequest) {
|
||||
|
||||
SyncDataSetResponse syncDataSetEntity = syncDataSetService.selectSet();
|
||||
SpsSyncBusResponse spsSyncBusResponse = new SpsSyncBusResponse();
|
||||
if (syncDataSetEntity.isTypeScan()) {
|
||||
BussinessTypeFilterRequest bussinessTypeFilterRequest = new BussinessTypeFilterRequest();
|
||||
BeanUtils.copyProperties(spsSyncDataRequest, bussinessTypeFilterRequest);
|
||||
List<BussinessTypeEntity> bussinessTypeEntities = bussinessTypeService.filterAllList(bussinessTypeFilterRequest);
|
||||
spsSyncBusResponse.setBussinessTypeEntities(bussinessTypeEntities);
|
||||
}
|
||||
if (syncDataSetEntity.isTypeBus()) {
|
||||
BussinessLocalTypeFilterRequest bussinessLocalTypeFilterRequest = new BussinessLocalTypeFilterRequest();
|
||||
BeanUtils.copyProperties(spsSyncDataRequest, bussinessLocalTypeFilterRequest);
|
||||
List<BussinessLocalTypeEntity> bussinessLocalTypeEntities = bussinessLocalTypeService.filterAllList(bussinessLocalTypeFilterRequest);
|
||||
spsSyncBusResponse.setBussinessLocalTypeEntities(bussinessLocalTypeEntities);
|
||||
}
|
||||
if (syncDataSetEntity.isTypeThird()) {
|
||||
BussinessOriginTypeFilterRequest bussinessOriginTypeFilterRequest = new BussinessOriginTypeFilterRequest();
|
||||
BeanUtils.copyProperties(spsSyncDataRequest, bussinessOriginTypeFilterRequest);
|
||||
List<BussinessOriginTypeEntity> bussinessOriginTypeEntities = bussinessOriginTypeService.filterList(bussinessOriginTypeFilterRequest);
|
||||
spsSyncBusResponse.setBussinessOriginTypeEntities(bussinessOriginTypeEntities);
|
||||
}
|
||||
return ResultVOUtils.success(spsSyncBusResponse);
|
||||
}
|
||||
|
||||
|
||||
//已完成扫码单据
|
||||
@Resource
|
||||
OrderService orderService;
|
||||
@Resource
|
||||
CodesService codesService;
|
||||
@Resource
|
||||
OrderDetailService orderDetailService;
|
||||
|
||||
|
||||
@GetMapping("sps/sync/order")
|
||||
public BaseResponse findOrder(SpsSyncDataRequest spsSyncDataRequest) {
|
||||
SpsSyncOrderResponse syncOrderResponse = new SpsSyncOrderResponse();
|
||||
SyncDataSetResponse syncDataSetEntity = syncDataSetService.selectSet();
|
||||
if (syncDataSetEntity.isOrderScanFinish()) {
|
||||
List<OrderEntity> orderEntities = new ArrayList<>();
|
||||
|
||||
if (syncDataSetEntity.isOrderScanFinish()) {
|
||||
OrderFilterRequest orderFilterRequest = new OrderFilterRequest();
|
||||
BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest);
|
||||
orderFilterRequest.setFilterActions(syncDataSetEntity.getBusTypes());
|
||||
orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS);
|
||||
orderFilterRequest.setReceiveStatus(ConstantStatus.RECEIVE_ED);
|
||||
List<OrderEntity> temps = orderService.findAllByTime(orderFilterRequest);
|
||||
if (CollUtil.isNotEmpty(temps)) {
|
||||
orderEntities.addAll(temps);
|
||||
}
|
||||
}
|
||||
|
||||
if (syncDataSetEntity.isOrderUnReceive()) {
|
||||
OrderFilterRequest orderFilterRequest = new OrderFilterRequest();
|
||||
BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest);
|
||||
orderFilterRequest.setFilterActions(syncDataSetEntity.getBusTypes());
|
||||
orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS);
|
||||
orderFilterRequest.setReceiveStatus(ConstantStatus.RECEIVE_UN);
|
||||
List<OrderEntity> temps = orderService.findAllByTime(orderFilterRequest);
|
||||
if (CollUtil.isNotEmpty(temps)) {
|
||||
orderEntities.addAll(temps);
|
||||
}
|
||||
}
|
||||
|
||||
if (syncDataSetEntity.isOrderUnCheck()) {
|
||||
OrderFilterRequest orderFilterRequest = new OrderFilterRequest();
|
||||
BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest);
|
||||
orderFilterRequest.setFilterActions(syncDataSetEntity.getBusTypes());
|
||||
orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_CHECK);
|
||||
List<OrderEntity> temps = orderService.findAllByTime(orderFilterRequest);
|
||||
if (CollUtil.isNotEmpty(temps)) {
|
||||
orderEntities.addAll(temps);
|
||||
}
|
||||
}
|
||||
|
||||
if (syncDataSetEntity.isOrderScanFinish()) {
|
||||
OrderFilterRequest orderFilterRequest = new OrderFilterRequest();
|
||||
BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest);
|
||||
orderFilterRequest.setFilterActions(syncDataSetEntity.getBusTypes());
|
||||
orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS);
|
||||
orderFilterRequest.setReceiveStatus(ConstantStatus.RECEIVE_ED);
|
||||
List<OrderEntity> temps = orderService.findAllByTime(orderFilterRequest);
|
||||
if (CollUtil.isNotEmpty(temps)) {
|
||||
orderEntities.addAll(temps);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
List<ErpOrderEntity> allOrderDetailEntityList = new ArrayList<>();
|
||||
List<WarehouseEntity> warehouseEntityList = new ArrayList<>();
|
||||
if (CollUtil.isNotEmpty(orderEntities)) {
|
||||
for (OrderEntity orderEntity : orderEntities) {
|
||||
List<ErpOrderEntity> orderDetailEntityList = orderDetailService.filterAllByOrderIdFk(orderEntity.getId());
|
||||
if (CollUtil.isNotEmpty(orderDetailEntityList)) {
|
||||
allOrderDetailEntityList.addAll(orderDetailEntityList);
|
||||
}
|
||||
List<WarehouseEntity> codes = codesService.findByReceiptId(orderEntity.getId());
|
||||
if (CollUtil.isNotEmpty(codes)) {
|
||||
warehouseEntityList.addAll(codes);
|
||||
}
|
||||
}
|
||||
}
|
||||
syncOrderResponse.setOrderEntities(orderEntities);
|
||||
syncOrderResponse.setOrderDetailEntityList(allOrderDetailEntityList);
|
||||
syncOrderResponse.setWarehouseEntityList(warehouseEntityList);
|
||||
}
|
||||
|
||||
return ResultVOUtils.success(syncOrderResponse);
|
||||
}
|
||||
|
||||
|
||||
@Resource
|
||||
ProductInfoService productInfoService;
|
||||
@Resource
|
||||
UdiCompanyService udiCompanyService;
|
||||
|
||||
//udi同步数据
|
||||
@GetMapping("sps/sync/syncUdis")
|
||||
public BaseResponse syncUdi(SpsSyncDataRequest spsSyncDataRequest) {
|
||||
SpSyncUdiResponse spSyncUdiResponse = new SpSyncUdiResponse();
|
||||
SyncDataSetResponse syncDataSetEntity = syncDataSetService.selectSet();
|
||||
if (syncDataSetEntity.isDbDiProducts()) {
|
||||
ProductInfoFilterRequest productInfoFilterRequest = new ProductInfoFilterRequest();
|
||||
productInfoFilterRequest.setUpdateTime(spsSyncDataRequest.getLastUpdateTime());
|
||||
List<ProductInfoEntity> productInfoEntityList = productInfoService.syncDlUdi(productInfoFilterRequest);
|
||||
UdiCompanyRequest udiCompanyRequest = new UdiCompanyRequest();
|
||||
udiCompanyRequest.setUpdateTime(spsSyncDataRequest.getLastUpdateTime());
|
||||
List<UdiCompanyEntity> udiCompanyEntities = udiCompanyService.syncDlCompany(udiCompanyRequest);
|
||||
spSyncUdiResponse.setUdiCompanyEntities(udiCompanyEntities);
|
||||
spSyncUdiResponse.setProductInfoEntityList(productInfoEntityList);
|
||||
}
|
||||
return ResultVOUtils.success(spSyncUdiResponse);
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -1,9 +1,10 @@
|
||||
package com.glxp.sale.admin.req.basic;
|
||||
|
||||
import com.glxp.sale.admin.req.ListPageRequest;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SpsSyncDataRequest {
|
||||
public class SpsSyncDataRequest extends ListPageRequest {
|
||||
|
||||
private String lastUpdateTime;
|
||||
}
|
||||
|
Loading…
Reference in New Issue