|
|
|
@ -6,6 +6,10 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import com.alibaba.nacos.shaded.com.google.gson.Gson; |
|
|
|
|
import com.alibaba.nacos.shaded.com.google.gson.GsonBuilder; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
|
import com.logpm.basicdata.entity.BasicdataClientEntity; |
|
|
|
|
import com.logpm.basicdata.entity.BasicdataStoreBusinessEntity; |
|
|
|
|
import com.logpm.basicdata.feign.IBasicdataClientClient; |
|
|
|
|
import com.logpm.basicdata.feign.IBasicdataStoreBusinessClient; |
|
|
|
|
import com.logpm.distribution.entity.DistributionParcelListEntity; |
|
|
|
|
import com.logpm.distribution.entity.DistributionStockArticleEntity; |
|
|
|
|
import com.logpm.distribution.feign.IDistributionParcelListClient; |
|
|
|
@ -13,7 +17,9 @@ import com.logpm.distribution.feign.IDistributionStockArticleClient;
|
|
|
|
|
import com.logpm.factory.comfac.dto.OrderInfoDTO; |
|
|
|
|
import com.logpm.factory.comfac.dto.OrderStatusDTO; |
|
|
|
|
import com.logpm.factory.comfac.service.IOrderStatusLogService; |
|
|
|
|
import com.logpm.factory.pan.dto.*; |
|
|
|
|
import com.logpm.factory.pan.dto.PanFactoryOrderDTO; |
|
|
|
|
import com.logpm.factory.pan.dto.PanPackageInfoDTO; |
|
|
|
|
import com.logpm.factory.pan.dto.PanPackageListDTO; |
|
|
|
|
import com.logpm.factory.pan.service.IPanFactoryDataService; |
|
|
|
|
import com.logpm.factory.pan.service.IPanFactoryOrderService; |
|
|
|
|
import com.logpm.factory.pan.service.IPanPackageInfoService; |
|
|
|
@ -26,12 +32,10 @@ import com.logpm.factory.snm.entity.PanPackageInfo;
|
|
|
|
|
import com.logpm.factory.snm.entity.PanPackageList; |
|
|
|
|
import com.logpm.oldproject.entity.AdvanceDetailEntity; |
|
|
|
|
import com.logpm.oldproject.entity.AdvanceEntity; |
|
|
|
|
import com.logpm.oldproject.entity.OrderEntity; |
|
|
|
|
import com.logpm.oldproject.feign.IAdvanceClient; |
|
|
|
|
import com.logpm.oldproject.feign.IAdvanceDetailClient; |
|
|
|
|
import com.logpm.oldproject.feign.IOrderClient; |
|
|
|
|
import com.logpm.oldproject.feign.IWarehouseClient; |
|
|
|
|
import com.logpm.oldproject.vo.DistributionParcelListEntityVO; |
|
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
|
import org.slf4j.Logger; |
|
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
@ -69,6 +73,9 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
|
|
|
|
|
private final IDistributionParcelListClient distributionParcelListClient; |
|
|
|
|
private final IDistributionStockArticleClient distributionStockArticleClient; |
|
|
|
|
|
|
|
|
|
private final IBasicdataClientClient basicdataClientClient; |
|
|
|
|
private final IBasicdataStoreBusinessClient basicdataStoreBusinessClient; |
|
|
|
|
|
|
|
|
|
// @Override
|
|
|
|
|
// public FactoryTokenVO getToken(String corpId, String appKey, String appSecret) throws NoSuchAlgorithmException {
|
|
|
|
|
//
|
|
|
|
@ -302,68 +309,73 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
|
|
|
|
|
} |
|
|
|
|
//2.根据包条信息拿到订单信息
|
|
|
|
|
String orderSelfNum = advanceDetailEntity.getOrderSelfNum();//订单自编码
|
|
|
|
|
//2.1如果订单信息出现两条,就正序排列取时间最早的一条,并在存入platform的时候打上标记
|
|
|
|
|
List<OrderEntity> orderEntityList = orderClient.getOrderByOrderSelfNum(orderSelfNum); |
|
|
|
|
AdvanceEntity advanceEntity = advanceClient.getQueryDataOne(orderSelfNum); |
|
|
|
|
Integer advanceId = advanceDetailEntity.getAdvanceId();//订单id
|
|
|
|
|
//2.1 因为会存在相同订单自编码的订单,所以为了区分订单只有通过id查询
|
|
|
|
|
AdvanceEntity advanceEntity = advanceClient.fingById(advanceId); |
|
|
|
|
if(Objects.isNull(advanceEntity)){ |
|
|
|
|
logger.warn("#################handleDataToPlatform: 未找到对应的订单信息 orderSelfNum={}",orderSelfNum); |
|
|
|
|
throw new CustomerException(405,"未找到对应的订单信息"); |
|
|
|
|
} |
|
|
|
|
int size = orderEntityList.size();//数据数量
|
|
|
|
|
if(size < 1){ |
|
|
|
|
logger.warn("#################handleDataToPlatform: 未找到对应的订单信息 orderSelfNum={}",orderSelfNum); |
|
|
|
|
logger.warn("#################handleDataToPlatform: 未找到对应的订单信息 advanceId={}",advanceId); |
|
|
|
|
throw new CustomerException(405,"未找到对应的订单信息"); |
|
|
|
|
} |
|
|
|
|
OrderEntity orderEntity = orderEntityList.get(0); |
|
|
|
|
Integer warehouseId = orderEntity.getWarehouseId();//仓库id
|
|
|
|
|
Date date = CommonUtil.StringToDate(operationTime); |
|
|
|
|
Date now = new Date(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//根据仓库id查询仓库
|
|
|
|
|
String warehouseName = warehouseClient.selectNameById(warehouseId); |
|
|
|
|
|
|
|
|
|
DistributionStockArticleEntity distributionStockArticleEntity = new DistributionStockArticleEntity(); |
|
|
|
|
distributionStockArticleEntity.setServiceNumber(orderEntity.getServicenum()); |
|
|
|
|
distributionStockArticleEntity.setOrderSelfNumbering(orderEntity.getSelfnumber()); |
|
|
|
|
distributionStockArticleEntity.setMallName(advanceEntity.getStoreName()); |
|
|
|
|
distributionStockArticleEntity.setDescriptionGoods(advanceEntity.getFirstPackName()); |
|
|
|
|
distributionStockArticleEntity.setWarehouse(warehouseName); |
|
|
|
|
distributionStockArticleEntity.setWarehouseEntryTime(date); |
|
|
|
|
distributionStockArticleEntity.setStoreTime(0);//TODO
|
|
|
|
|
distributionStockArticleEntity.setTotalNumber(advanceEntity.getTotal()); |
|
|
|
|
distributionStockArticleEntity.setHandQuantity(0);//TODO
|
|
|
|
|
distributionStockArticleEntity.setCompleteSet(1);//TODO
|
|
|
|
|
distributionStockArticleEntity.setBrand(advanceEntity.getType()); |
|
|
|
|
distributionStockArticleEntity.setTypeService(orderEntity.getDoor()); |
|
|
|
|
distributionStockArticleEntity.setCustomerName(orderEntity.getContact()); |
|
|
|
|
distributionStockArticleEntity.setCustomerTelephone(orderEntity.getPhone()); |
|
|
|
|
distributionStockArticleEntity.setCustomerAddress(orderEntity.getAddress()); |
|
|
|
|
distributionStockArticleEntity.setGenre(1); |
|
|
|
|
distributionStockArticleEntity.setState(2); |
|
|
|
|
if(size > 1){ |
|
|
|
|
distributionStockArticleEntity.setReserve1("multiple"); |
|
|
|
|
|
|
|
|
|
Map<String, String> supplyData = advanceDetailClient.getSupplyData(unitNo); |
|
|
|
|
|
|
|
|
|
//判断新系统是否有这条订单数据
|
|
|
|
|
DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleClient.findByAdvanceId(advanceId); |
|
|
|
|
|
|
|
|
|
if(Objects.isNull(distributionStockArticleEntity)){ |
|
|
|
|
Date date = CommonUtil.StringToDate(operationTime); |
|
|
|
|
|
|
|
|
|
distributionStockArticleEntity = new DistributionStockArticleEntity(); |
|
|
|
|
distributionStockArticleEntity.setServiceNumber(advanceEntity.getServiceNum()); |
|
|
|
|
distributionStockArticleEntity.setOrderSelfNumbering(advanceEntity.getOrderSelfNum()); |
|
|
|
|
distributionStockArticleEntity.setMallName(advanceEntity.getStoreName()); |
|
|
|
|
distributionStockArticleEntity.setDescriptionGoods(advanceEntity.getFirstPackName()); |
|
|
|
|
distributionStockArticleEntity.setWarehouse(supplyData.get("destinationWarehouse")); |
|
|
|
|
distributionStockArticleEntity.setWarehouseEntryTime(date); |
|
|
|
|
distributionStockArticleEntity.setTotalNumber(advanceEntity.getTotal()); |
|
|
|
|
distributionStockArticleEntity.setHandQuantity(0); |
|
|
|
|
distributionStockArticleEntity.setCompleteSet(1);//TODO
|
|
|
|
|
distributionStockArticleEntity.setBrand(advanceEntity.getType()); |
|
|
|
|
|
|
|
|
|
String customerName = advanceEntity.getCustomerName();//客户名称
|
|
|
|
|
//通过客户名称去查询客户的服务类型
|
|
|
|
|
BasicdataClientEntity basicdataClientEntity = basicdataClientClient.findByName(customerName); |
|
|
|
|
if(!Objects.isNull(basicdataClientEntity)){ |
|
|
|
|
Long clientEntityId = basicdataClientEntity.getId();//基础客户
|
|
|
|
|
BasicdataStoreBusinessEntity basicdataStoreBusinessEntity = basicdataStoreBusinessClient.findByClientIdAndTypeService(clientEntityId,3); |
|
|
|
|
if(!Objects.isNull(basicdataStoreBusinessEntity)){ |
|
|
|
|
distributionStockArticleEntity.setTypeService(basicdataStoreBusinessEntity.getMold()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
distributionStockArticleEntity.setCustomerName(customerName); |
|
|
|
|
distributionStockArticleEntity.setCustomerTelephone(advanceEntity.getCustomerPhone()); |
|
|
|
|
distributionStockArticleEntity.setCustomerAddress(advanceEntity.getCustomerRoad()); |
|
|
|
|
distributionStockArticleEntity.setGenre(1); |
|
|
|
|
distributionStockArticleEntity.setState(2); |
|
|
|
|
distributionStockArticleEntity.setAdvanceId(advanceId); |
|
|
|
|
} |
|
|
|
|
Long id = distributionStockArticleClient.addData(distributionStockArticleEntity); |
|
|
|
|
if(id == 0){ |
|
|
|
|
logger.warn("#################handleDataToPlatform: 保存订单信息失败 orderSelfNum={}",orderSelfNum); |
|
|
|
|
throw new CustomerException(405,"保存订单信息失败"); |
|
|
|
|
} |
|
|
|
|
//通过订单自编号查询包件信息
|
|
|
|
|
List<DistributionParcelListEntityVO> detailList = advanceDetailClient.getListByOrderSelfNum(orderSelfNum); |
|
|
|
|
|
|
|
|
|
List<DistributionParcelListEntity> parcelListEntityList = new ArrayList<>(); |
|
|
|
|
for (DistributionParcelListEntityVO vo:detailList){ |
|
|
|
|
DistributionParcelListEntity entity = new DistributionParcelListEntity(); |
|
|
|
|
BeanUtil.copyProperties(vo,entity); |
|
|
|
|
entity.setStockArticleId(id+""); |
|
|
|
|
parcelListEntityList.add(entity); |
|
|
|
|
} |
|
|
|
|
boolean b = distributionParcelListClient.addBatch(parcelListEntityList); |
|
|
|
|
if(!b){ |
|
|
|
|
logger.warn("#################handleDataToPlatform: 保存包件信息失败 orderSelfNum={}",orderSelfNum); |
|
|
|
|
throw new CustomerException(405,"保存包件信息失败"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//存入包件明细
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// List<DistributionParcelListEntity> parcelListEntityList = new ArrayList<>();
|
|
|
|
|
// for (DistributionParcelListEntityVO vo:detailList){
|
|
|
|
|
// DistributionParcelListEntity entity = new DistributionParcelListEntity();
|
|
|
|
|
// BeanUtil.copyProperties(vo,entity);
|
|
|
|
|
// entity.setStockArticleId(id+"");
|
|
|
|
|
// parcelListEntityList.add(entity);
|
|
|
|
|
// }
|
|
|
|
|
// boolean b = distributionParcelListClient.addBatch(parcelListEntityList);
|
|
|
|
|
// if(!b){
|
|
|
|
|
// logger.warn("#################handleDataToPlatform: 保存包件信息失败 orderSelfNum={}",orderSelfNum);
|
|
|
|
|
// throw new CustomerException(405,"保存包件信息失败");
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
logger.info("#################handleDataToPlatform: 数据处理完成"); |
|
|
|
|
}else{ |
|
|
|
|