You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
225 lines
9.2 KiB
Java
225 lines
9.2 KiB
Java
2 years ago
|
package com.glxp.api.service.sync;
|
||
|
|
||
|
import cn.hutool.core.collection.CollUtil;
|
||
|
import com.glxp.api.constant.ConstantStatus;
|
||
|
import com.glxp.api.entity.auth.*;
|
||
|
import com.glxp.api.entity.basic.CompanyProductRelevanceEntity;
|
||
|
import com.glxp.api.entity.basic.EntrustReceEntity;
|
||
|
import com.glxp.api.entity.basic.UdiRelevanceEntity;
|
||
|
import com.glxp.api.entity.inout.*;
|
||
|
import com.glxp.api.entity.purchase.SupCertEntity;
|
||
|
import com.glxp.api.entity.purchase.SupCompanyEntity;
|
||
|
import com.glxp.api.entity.purchase.SupManufacturerEntity;
|
||
|
import com.glxp.api.entity.purchase.SupProductEntity;
|
||
|
import com.glxp.api.entity.system.SyncDataBustypeEntity;
|
||
|
import com.glxp.api.entity.thrsys.*;
|
||
|
import com.glxp.api.req.auth.*;
|
||
|
import com.glxp.api.req.basic.BasicEntrustRecRequest;
|
||
|
import com.glxp.api.req.basic.BasicUnitMaintainFilterRequest;
|
||
|
import com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest;
|
||
|
import com.glxp.api.req.basic.FilterUdiInfoRequest;
|
||
|
import com.glxp.api.req.inout.FilterOrderRequest;
|
||
|
import com.glxp.api.req.purchase.FilterPoductRequest;
|
||
|
import com.glxp.api.req.purchase.FilterSupCompanyRequest;
|
||
|
import com.glxp.api.req.purchase.FilterSupManufacturerRequest;
|
||
|
import com.glxp.api.req.sync.SpsSyncDataRequest;
|
||
|
import com.glxp.api.req.thrsys.*;
|
||
|
import com.glxp.api.res.sync.SpsSyncOrderResponse;
|
||
|
import com.glxp.api.res.system.SyncDataSetResponse;
|
||
|
import com.glxp.api.service.auth.*;
|
||
|
import com.glxp.api.service.basic.EntrustReceService;
|
||
|
import com.glxp.api.service.basic.UdiRelevanceService;
|
||
|
import com.glxp.api.service.inout.*;
|
||
|
import com.glxp.api.service.purchase.SupCertService;
|
||
|
import com.glxp.api.service.purchase.SupCompanyService;
|
||
|
import com.glxp.api.service.purchase.SupManufacturerService;
|
||
|
import com.glxp.api.service.purchase.SupProductService;
|
||
|
import com.glxp.api.service.system.SyncDataSetService;
|
||
|
import com.glxp.api.service.thrsys.*;
|
||
|
import org.springframework.beans.BeanUtils;
|
||
|
import org.springframework.stereotype.Service;
|
||
|
|
||
|
import javax.annotation.Resource;
|
||
|
import java.util.ArrayList;
|
||
|
import java.util.Collections;
|
||
|
import java.util.List;
|
||
|
|
||
|
@Service
|
||
|
public class UpBasicService {
|
||
|
|
||
|
|
||
|
//基础信息
|
||
|
@Resource
|
||
|
InvWarehouseService invWarehouseService;
|
||
|
@Resource
|
||
|
UdiRelevanceService udiRelevanceService;
|
||
|
@Resource
|
||
|
ThrInvWarehouseService thrInvWarehouseService;
|
||
|
@Resource
|
||
|
ThrCorpService thrCorpService;
|
||
|
@Resource
|
||
|
ThrProductsService thrProductsService;
|
||
|
@Resource
|
||
|
ThrOrderService thrOrderService;
|
||
|
@Resource
|
||
|
ThrOrderDetailService thrOrderDetailService;
|
||
|
@Resource
|
||
|
SyncDataSetService syncDataSetService;
|
||
|
@Resource
|
||
|
AuthAdminService authAdminService;
|
||
|
@Resource
|
||
|
DeptService deptService;
|
||
|
@Resource
|
||
|
WarehouseBussinessTypeService warehouseBussinessTypeService;
|
||
|
@Resource
|
||
|
WarehouseUserService warehouseUserService;
|
||
|
@Resource
|
||
|
InvBusUserService invBusUserService;
|
||
|
|
||
|
|
||
|
@Resource
|
||
|
SupCompanyService supCompanyService;
|
||
|
@Resource
|
||
|
SupManufacturerService supManufacturerService;
|
||
|
@Resource
|
||
|
SupProductService supProductService;
|
||
|
@Resource
|
||
|
SupCertService supCertService;
|
||
|
|
||
|
|
||
|
//已完成扫码单据
|
||
|
@Resource
|
||
|
IoOrderService orderService;
|
||
|
@Resource
|
||
|
IoCodeService codesService;
|
||
|
@Resource
|
||
|
IoOrderDetailBizService orderDetailBizService;
|
||
|
@Resource
|
||
|
IoOrderDetailCodeService orderDetailCodeService;
|
||
|
@Resource
|
||
|
IoOrderDetailResultService orderDetailResultService;
|
||
|
|
||
|
public SpsSyncOrderResponse upAllOrder(SpsSyncDataRequest spsSyncDataRequest) {
|
||
|
SpsSyncOrderResponse syncOrderResponse = new SpsSyncOrderResponse();
|
||
|
//查询数据同步设置
|
||
|
SyncDataSetResponse syncDataSetEntity = syncDataSetService.selectSet();
|
||
|
List<IoOrderEntity> orderEntities = new ArrayList<>();
|
||
|
|
||
|
|
||
|
//待校验
|
||
|
if (syncDataSetEntity.isOrderUnCheck()) {
|
||
|
FilterOrderRequest orderFilterRequest = new FilterOrderRequest();
|
||
|
BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest);
|
||
|
|
||
|
if (CollUtil.isNotEmpty(syncDataSetEntity.getBusTypes())) {
|
||
|
for (SyncDataBustypeEntity syncDataBustypeEntity : syncDataSetEntity.getBusTypes()) {
|
||
|
List<String> filterList = new ArrayList<>();
|
||
|
filterList.add(syncDataBustypeEntity.getAction());
|
||
|
orderFilterRequest.setActions(filterList);
|
||
|
orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_CHECK);
|
||
|
List<IoOrderEntity> temps = orderService.filterOrderList(orderFilterRequest);
|
||
|
if (CollUtil.isNotEmpty(temps)) {
|
||
|
orderEntities.addAll(temps);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
//待核对
|
||
|
if (syncDataSetEntity.isOrderUnCheck()) {
|
||
|
FilterOrderRequest orderFilterRequest = new FilterOrderRequest();
|
||
|
BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest);
|
||
|
|
||
|
if (CollUtil.isNotEmpty(syncDataSetEntity.getBusTypes())) {
|
||
|
for (SyncDataBustypeEntity syncDataBustypeEntity : syncDataSetEntity.getBusTypes()) {
|
||
|
List<String> filterList = new ArrayList<>();
|
||
|
filterList.add(syncDataBustypeEntity.getAction());
|
||
|
orderFilterRequest.setActions(filterList);
|
||
|
orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_CHECK_SUCCESS);
|
||
|
List<IoOrderEntity> temps = orderService.filterOrderList(orderFilterRequest);
|
||
|
if (CollUtil.isNotEmpty(temps)) {
|
||
|
orderEntities.addAll(temps);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
//待审核
|
||
|
if (syncDataSetEntity.isOrderUnReceive()) {
|
||
|
FilterOrderRequest orderFilterRequest = new FilterOrderRequest();
|
||
|
BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest);
|
||
|
|
||
|
if (CollUtil.isNotEmpty(syncDataSetEntity.getBusTypes())) {
|
||
|
for (SyncDataBustypeEntity syncDataBustypeEntity : syncDataSetEntity.getBusTypes()) {
|
||
|
List<String> filterList = new ArrayList<>();
|
||
|
filterList.add(syncDataBustypeEntity.getAction());
|
||
|
orderFilterRequest.setActions(filterList);
|
||
|
orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW);
|
||
|
List<IoOrderEntity> temps = orderService.filterOrderList(orderFilterRequest);
|
||
|
if (CollUtil.isNotEmpty(temps)) {
|
||
|
orderEntities.addAll(temps);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//已完成
|
||
|
if (syncDataSetEntity.isOrderScanFinish()) {
|
||
|
FilterOrderRequest orderFilterRequest = new FilterOrderRequest();
|
||
|
BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest);
|
||
|
|
||
|
if (CollUtil.isNotEmpty(syncDataSetEntity.getBusTypes())) {
|
||
|
for (SyncDataBustypeEntity syncDataBustypeEntity : syncDataSetEntity.getBusTypes()) {
|
||
|
List<String> filterList = new ArrayList<>();
|
||
|
filterList.add(syncDataBustypeEntity.getAction());
|
||
|
orderFilterRequest.setActions(filterList);
|
||
|
orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_AUDITED);
|
||
|
List<IoOrderEntity> temps = orderService.filterOrderList(orderFilterRequest);
|
||
|
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;
|
||
|
}
|
||
|
|
||
|
}
|