|
|
|
@ -18,6 +18,7 @@ import com.logpm.oldproject.vo.DistributionParcelListEntityVO;
|
|
|
|
|
import com.logpm.patch.entity.WarehouseMappingDataEntity; |
|
|
|
|
import com.logpm.patch.service.ISyncOrderInfoService; |
|
|
|
|
import com.logpm.patch.service.IWarehouseMappingDataService; |
|
|
|
|
import com.logpm.patch.vo.SyncZeroOrderVO; |
|
|
|
|
import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity; |
|
|
|
|
import com.logpm.trunkline.entity.TrunklineAdvanceEntity; |
|
|
|
|
import com.logpm.trunkline.entity.TrunklineDetailProductEntity; |
|
|
|
@ -348,35 +349,13 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
|
|
|
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
@Override |
|
|
|
|
public void handleDataZero(List<String> orderCodeList,Integer oldWarehouseId,Long newWarehouseId) { |
|
|
|
|
log.info("#############handleData: 处理订单开始"); |
|
|
|
|
for (String orderCode:orderCodeList){ |
|
|
|
|
log.info("#############handleData: 当前处理orderCode={}的订单",orderCode); |
|
|
|
|
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleClient.findStockArticleByOrderCode(orderCode); |
|
|
|
|
if(!Objects.isNull(stockArticleEntity)){ |
|
|
|
|
log.info("#############handleData: 订单orderCode={}已存在",orderCode); |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
// //查询订单是零担还是订制品
|
|
|
|
|
// Integer goodsType = orderClient.getGoodsTypeByOrderCode(orderCode,oldWarehouseId);
|
|
|
|
|
// if(1 == goodsType){
|
|
|
|
|
// //包件
|
|
|
|
|
// saveOrderInfo(orderCode,oldWarehouseId,newWarehouseId);
|
|
|
|
|
// }else if(2 == goodsType){
|
|
|
|
|
// //运单
|
|
|
|
|
// saveZeroOrderInfo(orderCode,oldWarehouseId,newWarehouseId);
|
|
|
|
|
// }else{
|
|
|
|
|
// log.error("#############handleData: 未知的订单类型goodsType={} orderCode={} oldWarehouseId={}",goodsType,orderCode,oldWarehouseId);
|
|
|
|
|
// throw new CustomerException(403,"未知的订单类型");
|
|
|
|
|
// }
|
|
|
|
|
public void handleDataZero(SyncZeroOrderVO zeroOrderVO, Integer oldWarehouseId, Long newWarehouseId) { |
|
|
|
|
log.info("#############handleDataZero: 处理零担订单开始"); |
|
|
|
|
|
|
|
|
|
//运单
|
|
|
|
|
saveZeroOrderInfo(orderCode,oldWarehouseId,newWarehouseId); |
|
|
|
|
saveZeroOrderInfo(zeroOrderVO,oldWarehouseId,newWarehouseId); |
|
|
|
|
|
|
|
|
|
//存入打托信息
|
|
|
|
|
saveTrayTypeInfoZero(orderCode,oldWarehouseId,newWarehouseId); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
log.info("#############handleDataZero: 处理零担订单结束"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@ -815,15 +794,16 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void saveZeroOrderInfo(String orderCode, Integer oldWarehouseId, Long newWarehouseId) { |
|
|
|
|
private void saveZeroOrderInfo(SyncZeroOrderVO zeroOrderVO, Integer oldWarehouseId, Long newWarehouseId) { |
|
|
|
|
|
|
|
|
|
String orderCode = zeroOrderVO.getOrderCode(); |
|
|
|
|
|
|
|
|
|
OrderCountEntity orderCountEntity = orderCountClient.getEntityByOrderCode(orderCode,oldWarehouseId); |
|
|
|
|
if(Objects.isNull(orderCountEntity)){ |
|
|
|
|
log.warn("#################saveZeroOrderInfo: 未查询单订单信息 orderCode={}",orderCode); |
|
|
|
|
throw new CustomerException(403,"未查询单订单信息"); |
|
|
|
|
} |
|
|
|
|
Integer total = orderCountEntity.getTotal(); |
|
|
|
|
Integer inNum = orderCountEntity.getInNum(); |
|
|
|
|
Integer num = zeroOrderVO.getNum(); |
|
|
|
|
|
|
|
|
|
WayBillEntity wayBillEntity = wayBillClient.getByWaybillNo(orderCode); |
|
|
|
|
|
|
|
|
@ -837,17 +817,7 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
|
|
|
|
|
//通过运单号先去查询新系统是否存在这个运单号
|
|
|
|
|
WarehouseWaybillEntity warehouseWaybill = warehouseWaybillClient.findByWaybillNo(waybillNo); |
|
|
|
|
if (Objects.isNull(warehouseWaybill)) { |
|
|
|
|
Date date = new Date(); |
|
|
|
|
//如果新系统中不存在这个运单,那么就去查询老系统的运单数据
|
|
|
|
|
// WayBillEntity wayBillEntity = wayBillClient.getByWaybillNo(waybillNo);
|
|
|
|
|
// if (Objects.isNull(wayBillEntity)) {
|
|
|
|
|
// log.warn("##############waybillDataHandler: 老系统中未找到对应运单waybillNo={}", waybillNo);
|
|
|
|
|
// throw new CustomerException("老系统中未找到对应运单");
|
|
|
|
|
// }
|
|
|
|
|
warehouseWaybill = saveWayBillData(wayBillEntity, inNum); |
|
|
|
|
// waybillId = warehouseWaybill.getId();
|
|
|
|
|
//createStockArticle(warehouseWaybill);
|
|
|
|
|
|
|
|
|
|
warehouseWaybill = saveZeroWayBillData(wayBillEntity); |
|
|
|
|
} |
|
|
|
|
//创建在库订单
|
|
|
|
|
createStockArticle(warehouseWaybill); |
|
|
|
@ -1038,7 +1008,7 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public WarehouseWaybillEntity saveWayBillData(WayBillEntity wayBillEntity, Integer allNum) { |
|
|
|
|
public WarehouseWaybillEntity saveZeroWayBillData(WayBillEntity wayBillEntity) { |
|
|
|
|
String startSite = wayBillEntity.getStartSite();//始发仓名称
|
|
|
|
|
BasicdataWarehouseEntity starthouse = basicdataWarehouseClient.findByName(startSite); |
|
|
|
|
String warehouseName = wayBillEntity.getWarehouseName();//目的仓
|
|
|
|
@ -1046,10 +1016,6 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
|
|
|
|
|
Integer number = wayBillEntity.getNumber();//运单总数量
|
|
|
|
|
String packname = wayBillEntity.getPackname(); |
|
|
|
|
String agent = wayBillEntity.getAgent(); |
|
|
|
|
if (allNum.compareTo(number) > 0) { |
|
|
|
|
log.warn("##############waybillDataHandler: 运单的总数量异常 allNum={} number={}", allNum, number); |
|
|
|
|
throw new CustomerException("运单的总数量异常"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
WarehouseWaybillEntity warehouseWaybill = new WarehouseWaybillEntity(); |
|
|
|
|
warehouseWaybill.setWaybillNo(wayBillEntity.getWaybillNo()); |
|
|
|
@ -1087,7 +1053,7 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
|
|
|
|
|
warehouseWaybill.setDestination(wayBillEntity.getArriveSite()); |
|
|
|
|
warehouseWaybill.setGoodsName(packname); |
|
|
|
|
warehouseWaybill.setTotalCount(number); |
|
|
|
|
warehouseWaybill.setStockCount(allNum); |
|
|
|
|
warehouseWaybill.setStockCount(number); |
|
|
|
|
warehouseWaybill.setTotalWeight(wayBillEntity.getWeight()); |
|
|
|
|
warehouseWaybill.setTotalVolume(wayBillEntity.getVolume()); |
|
|
|
|
warehouseWaybill.setDeliveryMethod(wayBillEntity.getSendType()); |
|
|
|
@ -1127,11 +1093,19 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
|
|
|
|
|
List<WarehouseWayBillDetail> ls = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
for (WaybillDesEntity waybillDesEntity : des) { |
|
|
|
|
|
|
|
|
|
WarehouseWayBillDetail warehouseWayBillDetail = new WarehouseWayBillDetail(); |
|
|
|
|
warehouseWayBillDetail.setWaybillId(waybillId); |
|
|
|
|
warehouseWayBillDetail.setWaybillNo(wayBillEntity.getWaybillNo()); |
|
|
|
|
String name = waybillDesEntity.getName(); |
|
|
|
|
BasicdataCategoryEntity categoryEntity = categoryClient.findByName(name); |
|
|
|
|
if(Objects.isNull(categoryEntity)){ |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
warehouseWayBillDetail.setProductName(waybillDesEntity.getName()); |
|
|
|
|
warehouseWayBillDetail.setNum(waybillDesEntity.getNum()); |
|
|
|
|
warehouseWayBillDetail.setPrice(waybillDesEntity.getPrice()); |
|
|
|
|
warehouseWayBillDetail.setStatus(1); |
|
|
|
|
warehouseWayBillDetail.setIsDeleted(0); |
|
|
|
|
warehouseWayBillDetail.setCreateTime(date); |
|
|
|
|