|
|
|
@ -25,6 +25,9 @@ import com.logpm.oldproject.feign.IDetailProductClient;
|
|
|
|
|
import com.logpm.oldproject.feign.IServiceNumClient; |
|
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
|
import lombok.extern.log4j.Log4j2; |
|
|
|
|
import org.jetbrains.annotations.Nullable; |
|
|
|
|
import org.springblade.core.secure.utils.AuthUtil; |
|
|
|
|
import org.springblade.core.tool.utils.ObjectUtil; |
|
|
|
|
import org.springblade.core.tool.utils.StringUtil; |
|
|
|
|
import org.springframework.scheduling.annotation.Async; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
@ -269,65 +272,12 @@ public class AsyncDataServiceImpl implements IAsyncDataService {
|
|
|
|
|
MtFactoryOrderMain mtFactoryOrderMain = mtFactoryOrderMainService.getById(mainId); |
|
|
|
|
for (MtFactoryOrder mtFactoryOrder : mtFactoryOrders) { |
|
|
|
|
Long orderId = mtFactoryOrder.getId(); |
|
|
|
|
Integer advanceId = null; |
|
|
|
|
|
|
|
|
|
log.info("#########handlerMtDataToHt: 当前处理的订单id={}", orderId); |
|
|
|
|
|
|
|
|
|
//添加订单信息
|
|
|
|
|
AdvanceEntity advanceEntity = new AdvanceEntity(); |
|
|
|
|
advanceEntity.setOrderSelfNum(StringUtil.isBlank(mtFactoryOrder.getOrderCode()) ? "" : mtFactoryOrder.getOrderCode()); //订单自编号
|
|
|
|
|
advanceEntity.setSiteName(""); // 基地 TODO 需要映射
|
|
|
|
|
advanceEntity.setArea(""); // 区域
|
|
|
|
|
advanceEntity.setOrderTypeName(""); //订单类型名称 可以为空
|
|
|
|
|
advanceEntity.setOrderClassName("工厂"); //订单类型 可以为空
|
|
|
|
|
advanceEntity.setType(FactoryConstant.MENGT); |
|
|
|
|
advanceEntity.setTotal(Integer.parseInt(mtFactoryOrder.getQuantity())); //订单总数据
|
|
|
|
|
advanceEntity.setMctsTruck(mtFactoryOrderMain.getInvoiceOrderCode()); //车次
|
|
|
|
|
advanceEntity.setMtdsNo("");// MTDS单号 可以为空
|
|
|
|
|
advanceEntity.setFirstPackName(""); //一级品类
|
|
|
|
|
advanceEntity.setFirstPackCode(""); //一级品类
|
|
|
|
|
advanceEntity.setDealerName(""); //商场名称
|
|
|
|
|
advanceEntity.setDealerCode(StringUtil.isBlank(mtFactoryOrder.getDealerCode()) ? "" : mtFactoryOrder.getDealerCode()); //商场编码
|
|
|
|
|
advanceEntity.setDueDate(""); // 交期
|
|
|
|
|
advanceEntity.setIsOpai(0); //是否干仓配
|
|
|
|
|
advanceEntity.setOrderNum("");//MSCS订单号 可以为空
|
|
|
|
|
advanceEntity.setCarrierName("汇通");//承运商 可以为空
|
|
|
|
|
advanceEntity.setCustomerName(StringUtil.isBlank(mtFactoryOrder.getCustomName()) ? "" : mtFactoryOrder.getCustomName()); //顾客名称
|
|
|
|
|
advanceEntity.setCustomerPhone(StringUtil.isBlank(mtFactoryOrder.getCustomPhone()) ? "" : mtFactoryOrder.getCustomPhone()); // 顾客电话
|
|
|
|
|
advanceEntity.setCustomerRoad(StringUtil.isBlank(mtFactoryOrder.getCustomAddress()) ? "" : mtFactoryOrder.getCustomAddress());//顾客地址
|
|
|
|
|
advanceEntity.setSystemType("线上"); //订单类型
|
|
|
|
|
advanceEntity.setStoreNo(""); //门店编码
|
|
|
|
|
advanceEntity.setStoreName(""); //门店名称
|
|
|
|
|
advanceEntity.setSerialKey(""); //序列号
|
|
|
|
|
advanceEntity.setServiceNum(StringUtil.isBlank(mtFactoryOrderMain.getInvoiceOrderCode()) ? "" : mtFactoryOrderMain.getInvoiceOrderCode()); //服务号
|
|
|
|
|
advanceEntity.setMatingCode("");//齐套模式 可以为空
|
|
|
|
|
advanceEntity.setContractNum("");//合同号 可以为空
|
|
|
|
|
advanceEntity.setLeaveBehind("");//遗留:Y=是,N=否
|
|
|
|
|
advanceEntity.setSenderMobile("");//发货人电话 可以为空
|
|
|
|
|
advanceEntity.setSenderAddress(""); //发货地址 可以为空
|
|
|
|
|
advanceEntity.setSenderName(""); //发货工厂名称 可以为空
|
|
|
|
|
advanceEntity.setAdministratorsId(1078);// 导入人
|
|
|
|
|
advanceEntity.setCreateTime(LocalDate.now()); //添加时间
|
|
|
|
|
advanceEntity.setCarsNum(StringUtil.isBlank(mtFactoryOrderMain.getInvoiceOrderCode()) ? "" : mtFactoryOrderMain.getInvoiceOrderCode()); //派车单--snm 可以为空
|
|
|
|
|
advanceEntity.setDeleteTime(0); // 删除时间
|
|
|
|
|
advanceEntity.setWaybillNo("");//运单号 可以为空
|
|
|
|
|
// Integer id = PanFactoryEnum.getId(panFactoryOrder.getPlantId());
|
|
|
|
|
advanceEntity.setWarehouseId(141); //导入人仓库id TODO 需要提供映射
|
|
|
|
|
advanceEntity.setWaybillStatus(Byte.parseByte("1"));//开单状态:1=未开单,2=已开单
|
|
|
|
|
advanceEntity.setOldId(0);//
|
|
|
|
|
advanceEntity.setFreeze(Byte.parseByte("1"));//冻结状态:1=正常,2=冻结
|
|
|
|
|
advanceEntity.setDeleteReason("");//删除原因
|
|
|
|
|
advanceEntity.setDeleteAdministratorsId(0);//删除用户
|
|
|
|
|
Integer advanceId = iAdvanceClient.addAdvanceClient(advanceEntity); |
|
|
|
|
if (advanceId > 0) { |
|
|
|
|
//更改订单状态
|
|
|
|
|
mtFactoryOrder.setStatus(0); |
|
|
|
|
mtFactoryOrderService.saveOrUpdate(mtFactoryOrder); |
|
|
|
|
} else { |
|
|
|
|
//修改订单状态为失败
|
|
|
|
|
mtFactoryOrder.setStatus(2); |
|
|
|
|
mtFactoryOrderService.saveOrUpdate(mtFactoryOrder); |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
advanceId = addAdvanceEntity(mtFactoryOrderMain, mtFactoryOrder); |
|
|
|
|
if (advanceId == null) continue; |
|
|
|
|
|
|
|
|
|
//通过订单id查询对应的包件
|
|
|
|
|
QueryWrapper<MtPackageInfo> packageQueryWrapper = new QueryWrapper<>(); |
|
|
|
@ -337,40 +287,9 @@ public class AsyncDataServiceImpl implements IAsyncDataService {
|
|
|
|
|
List<MtPackageInfo> packages = mtPackageInfoService.list(packageQueryWrapper); |
|
|
|
|
for (MtPackageInfo mtPackageInfo : packages) { |
|
|
|
|
//添加订单明细
|
|
|
|
|
AdvanceDetailEntity advanceDetailEntity = new AdvanceDetailEntity(); |
|
|
|
|
advanceDetailEntity.setAdvanceId(advanceId);//预仓id
|
|
|
|
|
advanceDetailEntity.setIsPay(Byte.parseByte("0"));//
|
|
|
|
|
advanceDetailEntity.setLineID("");//线下订单明细标时 可以为空
|
|
|
|
|
advanceDetailEntity.setSerialKey("");//序列号 可以为空
|
|
|
|
|
advanceDetailEntity.setArea("");//区域
|
|
|
|
|
advanceDetailEntity.setOrderSelfNum(mtFactoryOrder.getOrderCode());//订单自编号
|
|
|
|
|
advanceDetailEntity.setType(FactoryConstant.MENGT);//订单来源
|
|
|
|
|
advanceDetailEntity.setSystemType("线上");//订单类型
|
|
|
|
|
advanceDetailEntity.setOrderNum("");//MSCS单号 可以为空
|
|
|
|
|
advanceDetailEntity.setIsOpai(0);//是否干仓配:1=是,0=否
|
|
|
|
|
advanceDetailEntity.setMtdsNo("");//MTDS单号 可以为空
|
|
|
|
|
advanceDetailEntity.setFirstPackName("门");//一级品类
|
|
|
|
|
// advanceDetailEntity.setFirstPackName(StringUtil.isBlank(mtPackageInfo.getBigType())?"":mtPackageInfo.getBigType());//一级品类
|
|
|
|
|
advanceDetailEntity.setFirstPackCode("");//二级品类
|
|
|
|
|
advanceDetailEntity.setSiteName("");//基地名称 基地 TODO 需要映射
|
|
|
|
|
advanceDetailEntity.setSiteCode("");//基地编码
|
|
|
|
|
advanceDetailEntity.setProductCode(StringUtil.isBlank(mtPackageInfo.getPackageType()) ? "" : mtPackageInfo.getPackageType());//货品名称 可以为空
|
|
|
|
|
advanceDetailEntity.setSecondPackName("");//二级品类名称
|
|
|
|
|
advanceDetailEntity.setSecondPackCode("");//二级品类
|
|
|
|
|
advanceDetailEntity.setThirdPackName("");//三级品类名称
|
|
|
|
|
advanceDetailEntity.setThirdPackCode("");//三级品类
|
|
|
|
|
advanceDetailEntity.setGoodName("");//v产品类型 可以为空
|
|
|
|
|
advanceDetailEntity.setIsAddin("Y");//例放:N=正常,Y=例放
|
|
|
|
|
advanceDetailEntity.setIsThirdAddin("N");//三级例放:N=正常,Y=例放
|
|
|
|
|
advanceDetailEntity.setIsSuppin("N");//补进:N=正常,Y=例放
|
|
|
|
|
advanceDetailEntity.setMscsNum("1");//发货数量
|
|
|
|
|
advanceDetailEntity.setMtdsNum(0);//销售数量
|
|
|
|
|
advanceDetailEntity.setVolume("");//体积
|
|
|
|
|
advanceDetailEntity.setUnitNo(StringUtil.isBlank(mtPackageInfo.getPackageCode()) ? "" : mtPackageInfo.getPackageCode());//包条码
|
|
|
|
|
advanceDetailEntity.setMctsTruck(mtFactoryOrderMain.getInvoiceOrderCode());//车次号
|
|
|
|
|
buildAdvanceDetailEntity(mtFactoryOrder, mtPackageInfo, advanceDetailEntity); |
|
|
|
|
} |
|
|
|
|
addAdvanceDetailEntity(mtFactoryOrderMain, mtFactoryOrder, advanceId, mtPackageInfo); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
String sn = StringUtil.isBlank(mtFactoryOrder.getMainOrderCode()) ? "" : mtFactoryOrder.getMainOrderCode(); |
|
|
|
|
ServiceNumEntity serviceNum = serviceNumClient.findByserviceNum(sn); |
|
|
|
|
if (Objects.isNull(serviceNum)) { |
|
|
|
@ -399,6 +318,123 @@ public class AsyncDataServiceImpl implements IAsyncDataService {
|
|
|
|
|
log.info("##############handlerMtDataToHt: 处理数据完成"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 添加订单包件 |
|
|
|
|
* |
|
|
|
|
* @param mtFactoryOrderMain |
|
|
|
|
* @param mtFactoryOrder |
|
|
|
|
* @param advanceId |
|
|
|
|
* @param mtPackageInfo |
|
|
|
|
*/ |
|
|
|
|
private void addAdvanceDetailEntity(MtFactoryOrderMain mtFactoryOrderMain, MtFactoryOrder mtFactoryOrder, Integer advanceId, MtPackageInfo mtPackageInfo) { |
|
|
|
|
AdvanceDetailEntity advanceDetailEntity = advanceDetailClient.getOneByUnitNo(mtPackageInfo.getPackageCode()); |
|
|
|
|
|
|
|
|
|
if (ObjectUtil.isNotEmpty(advanceDetailEntity)) { |
|
|
|
|
|
|
|
|
|
// 当这个包条存在老系统的时候
|
|
|
|
|
advanceDetailEntity.setMctsTruckNo(mtFactoryOrderMain.getInvoiceOrderCode()); |
|
|
|
|
//更新包件
|
|
|
|
|
advanceDetailClient.updateAdvanceDetail(advanceDetailEntity); |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
advanceDetailEntity = new AdvanceDetailEntity(); |
|
|
|
|
advanceDetailEntity.setAdvanceId(advanceId);//预仓id
|
|
|
|
|
advanceDetailEntity.setIsPay(Byte.parseByte("0"));//
|
|
|
|
|
advanceDetailEntity.setLineID("");//线下订单明细标时 可以为空
|
|
|
|
|
advanceDetailEntity.setSerialKey("");//序列号 可以为空
|
|
|
|
|
advanceDetailEntity.setArea("");//区域
|
|
|
|
|
advanceDetailEntity.setOrderSelfNum(mtFactoryOrder.getOrderCode());//订单自编号
|
|
|
|
|
advanceDetailEntity.setType(FactoryConstant.MENGT);//订单来源
|
|
|
|
|
advanceDetailEntity.setSystemType("线上");//订单类型
|
|
|
|
|
advanceDetailEntity.setOrderNum("");//MSCS单号 可以为空
|
|
|
|
|
advanceDetailEntity.setIsOpai(0);//是否干仓配:1=是,0=否
|
|
|
|
|
advanceDetailEntity.setMtdsNo(mtFactoryOrder.getProduceOrderCode());//MTDS单号 可以为空
|
|
|
|
|
advanceDetailEntity.setFirstPackName("门");//一级品类
|
|
|
|
|
// advanceDetailEntity.setFirstPackName(StringUtil.isBlank(mtPackageInfo.getBigType())?"":mtPackageInfo.getBigType());//一级品类
|
|
|
|
|
advanceDetailEntity.setFirstPackCode("");//二级品类
|
|
|
|
|
advanceDetailEntity.setSiteName("");//基地名称 基地 TODO 需要映射
|
|
|
|
|
advanceDetailEntity.setSiteCode("");//基地编码
|
|
|
|
|
advanceDetailEntity.setProductCode(StringUtil.isBlank(mtPackageInfo.getPackageType()) ? "" : mtPackageInfo.getPackageType());//货品名称 可以为空
|
|
|
|
|
advanceDetailEntity.setSecondPackName("");//二级品类名称
|
|
|
|
|
advanceDetailEntity.setSecondPackCode("");//二级品类
|
|
|
|
|
advanceDetailEntity.setThirdPackName("");//三级品类名称
|
|
|
|
|
advanceDetailEntity.setThirdPackCode("");//三级品类
|
|
|
|
|
advanceDetailEntity.setGoodName("");//v产品类型 可以为空
|
|
|
|
|
advanceDetailEntity.setIsAddin("Y");//例放:N=正常,Y=例放
|
|
|
|
|
advanceDetailEntity.setIsThirdAddin("N");//三级例放:N=正常,Y=例放
|
|
|
|
|
advanceDetailEntity.setIsSuppin("N");//补进:N=正常,Y=例放
|
|
|
|
|
advanceDetailEntity.setMscsNum("1");//发货数量
|
|
|
|
|
advanceDetailEntity.setMtdsNum(0);//销售数量
|
|
|
|
|
advanceDetailEntity.setVolume("");//体积
|
|
|
|
|
advanceDetailEntity.setUnitNo(StringUtil.isBlank(mtPackageInfo.getPackageCode()) ? "" : mtPackageInfo.getPackageCode());//包条码
|
|
|
|
|
advanceDetailEntity.setMctsTruck(mtFactoryOrderMain.getInvoiceOrderCode());//车次号
|
|
|
|
|
buildAdvanceDetailEntity(mtFactoryOrder, mtPackageInfo, advanceDetailEntity); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Nullable |
|
|
|
|
private Integer addAdvanceEntity(MtFactoryOrderMain mtFactoryOrderMain, MtFactoryOrder mtFactoryOrder) { |
|
|
|
|
AdvanceEntity advanceEntity = new AdvanceEntity(); |
|
|
|
|
advanceEntity.setOrderSelfNum(StringUtil.isBlank(mtFactoryOrder.getOrderCode()) ? "" : mtFactoryOrder.getOrderCode()); //订单自编号
|
|
|
|
|
advanceEntity.setSiteName(""); // 基地 TODO 需要映射
|
|
|
|
|
advanceEntity.setArea(""); // 区域
|
|
|
|
|
advanceEntity.setOrderTypeName(""); //订单类型名称 可以为空
|
|
|
|
|
advanceEntity.setOrderClassName("工厂"); //订单类型 可以为空
|
|
|
|
|
advanceEntity.setType(FactoryConstant.MENGT); |
|
|
|
|
advanceEntity.setTotal(Integer.parseInt(mtFactoryOrder.getQuantity())); //订单总数据
|
|
|
|
|
advanceEntity.setMctsTruck(mtFactoryOrderMain.getInvoiceOrderCode()); //车次
|
|
|
|
|
advanceEntity.setMtdsNo(mtFactoryOrder.getProduceOrderCode());// 生产单号
|
|
|
|
|
advanceEntity.setMctsTruckNo(mtFactoryOrderMain.getSendCarNumber());// 车牌//字段没有了
|
|
|
|
|
advanceEntity.setFirstPackName(""); //一级品类
|
|
|
|
|
advanceEntity.setFirstPackCode(""); //一级品类
|
|
|
|
|
advanceEntity.setDealerName(mtFactoryOrder.getDealerName()); //商场名称
|
|
|
|
|
advanceEntity.setDealerCode(StringUtil.isBlank(mtFactoryOrder.getDealerCode()) ? "" : mtFactoryOrder.getDealerCode()); //商场编码
|
|
|
|
|
advanceEntity.setDueDate(""); // 交期
|
|
|
|
|
advanceEntity.setIsOpai(0); //是否干仓配
|
|
|
|
|
advanceEntity.setOrderNum("");//MSCS订单号 可以为空
|
|
|
|
|
advanceEntity.setCarrierName("汇通");//承运商 可以为空
|
|
|
|
|
advanceEntity.setCustomerName(StringUtil.isBlank(mtFactoryOrder.getCustomName()) ? "" : mtFactoryOrder.getCustomName()); //顾客名称
|
|
|
|
|
advanceEntity.setCustomerPhone(StringUtil.isBlank(mtFactoryOrder.getCustomPhone()) ? "" : mtFactoryOrder.getCustomPhone()); // 顾客电话
|
|
|
|
|
advanceEntity.setCustomerRoad(StringUtil.isBlank(mtFactoryOrder.getCustomAddress()) ? "" : mtFactoryOrder.getCustomAddress());//顾客地址
|
|
|
|
|
advanceEntity.setSystemType("线上"); //订单类型
|
|
|
|
|
advanceEntity.setStoreNo(mtFactoryOrder.getExclusiveCode()); //门店编码
|
|
|
|
|
advanceEntity.setStoreName(mtFactoryOrder.getExclusiveName()); //门店名称
|
|
|
|
|
advanceEntity.setSerialKey(""); //序列号
|
|
|
|
|
advanceEntity.setServiceNum(StringUtil.isBlank(mtFactoryOrder.getMainOrderCode()) ? "" : mtFactoryOrder.getMainOrderCode()); //服务号
|
|
|
|
|
advanceEntity.setMatingCode("");//齐套模式 可以为空
|
|
|
|
|
advanceEntity.setContractNum("");//合同号 可以为空
|
|
|
|
|
advanceEntity.setLeaveBehind("");//遗留:Y=是,N=否
|
|
|
|
|
advanceEntity.setSenderMobile("");//发货人电话 可以为空
|
|
|
|
|
advanceEntity.setSenderAddress(""); //发货地址 可以为空
|
|
|
|
|
advanceEntity.setSenderName(""); //发货工厂名称 可以为空
|
|
|
|
|
advanceEntity.setAdministratorsId(1078);// 导入人
|
|
|
|
|
advanceEntity.setCreateTime(LocalDate.now()); //添加时间
|
|
|
|
|
advanceEntity.setCarsNum(StringUtil.isBlank(mtFactoryOrderMain.getInvoiceOrderCode()) ? "" : mtFactoryOrderMain.getInvoiceOrderCode()); //派车单--snm 可以为空
|
|
|
|
|
advanceEntity.setDeleteTime(0); // 删除时间
|
|
|
|
|
advanceEntity.setWaybillNo("");//运单号 可以为空
|
|
|
|
|
// Integer id = PanFactoryEnum.getId(panFactoryOrder.getPlantId());
|
|
|
|
|
advanceEntity.setWarehouseId(141); //导入人仓库id TODO 需要提供映射
|
|
|
|
|
advanceEntity.setWaybillStatus(Byte.parseByte("1"));//开单状态:1=未开单,2=已开单
|
|
|
|
|
advanceEntity.setOldId(0);//
|
|
|
|
|
advanceEntity.setFreeze(Byte.parseByte("1"));//冻结状态:1=正常,2=冻结
|
|
|
|
|
advanceEntity.setDeleteReason("");//删除原因
|
|
|
|
|
advanceEntity.setDeleteAdministratorsId(0);//删除用户
|
|
|
|
|
Integer advanceId = iAdvanceClient.addAdvanceClient(advanceEntity); |
|
|
|
|
if (advanceId > 0) { |
|
|
|
|
//更改订单状态
|
|
|
|
|
mtFactoryOrder.setStatus(0); |
|
|
|
|
mtFactoryOrderService.saveOrUpdate(mtFactoryOrder); |
|
|
|
|
} else { |
|
|
|
|
//修改订单状态为失败
|
|
|
|
|
mtFactoryOrder.setStatus(2); |
|
|
|
|
mtFactoryOrderService.saveOrUpdate(mtFactoryOrder); |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
return advanceId; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void buildAdvanceDetailEntity(MtFactoryOrder mtFactoryOrder, MtPackageInfo mtPackageInfo, AdvanceDetailEntity advanceDetailEntity) { |
|
|
|
|
advanceDetailEntity.setMctsTruckNo("");//车牌号
|
|
|
|
|
advanceDetailEntity.setDate100(null);//基地发货日期
|
|
|
|
|