@ -1,7 +1,7 @@
package com.logpm.factory.jobhandler ;
import cn.hutool.core.util.ObjectUtil ;
import com.baomidou.mybatisplus.core.toolkit.StringUtils ;
import com.alibaba.fastjson.JSONObject ;
import com.baomidou.mybatisplus.core.toolkit.Wrappers ;
import com.logpm.factory.snm.dto.GroupByPackagesDTO ;
import com.logpm.factory.snm.entity.OrderLogEntity ;
@ -18,16 +18,21 @@ import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob ;
import com.xxl.job.core.log.XxlJobLogger ;
import lombok.AllArgsConstructor ;
import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils ;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
import org.springblade.common.constant.LogpmDataStatusEnum ;
import org.springblade.common.constant.PackagesTypeEnum ;
import org.springblade.common.exception.CustomerException ;
import org.springblade.common.utils.CommonUtil ;
import org.springframework.stereotype.Component ;
import org.springframework.transaction.annotation.Transactional ;
import org.springframework.util.ObjectUtils ;
import java.time.LocalDate ;
import java.time.LocalDateTime ;
import java.time.ZoneOffset ;
import java.time.format.DateTimeFormatter ;
import java.util.* ;
import java.util.stream.Collectors ;
@ -37,7 +42,7 @@ import java.util.stream.Collectors;
* 开发步骤 :
* 1 、 在Spring Bean实例中 , 开发Job方法 , 方式格式要求为 "public ReturnT<String> execute(String param)"
* 2 、 为Job方法添加注解 "@XxlJob(value=" 自定义jobhandler名称 ", init = " JobHandler初始化方法 ", destroy = " JobHandler销毁方法 ")" , 注解value值对应的是调度中心新建任务的JobHandler属性的值 。
* 3 、 执行日志 : 需要通过 "// XxlJobLogger.log" 打印执行日志 ;
* 3 、 执行日志 : 需要通过 "XxlJobLogger.log" 打印执行日志 ;
*
* @author xuxueli
* /
@ -69,20 +74,57 @@ public class FactoryXxlJob {
@XxlJob ( "factoryJobHandler" )
public ReturnT < String > factoryJobHandler ( String param ) throws Exception {
// 获取当前时间
LocalDate date ;
LocalDate date = LocalDate . now ( ) ;
List < StationlinenumEntity > ls = stationlinenumService . lambdaQuery ( ) . eq ( StationlinenumEntity : : getIsDeleted , 0 ) . eq ( StationlinenumEntity : : getStatus , LogpmDataStatusEnum . OPEN . getValue ( ) ) . list ( ) ;
if ( ! ObjectUtils . isEmpty ( ls ) ) {
if ( StringUtils . isNotBlank ( param ) ) {
date = LocalDate . parse ( param ) ;
} else {
date = LocalDate . now ( ) ;
DateTimeFormatter formatter = DateTimeFormatter . ofPattern ( "yyyy-MM-dd HH:mm:ss" ) ;
String startTime ;
String endTime ;
int type = 1 ;
if ( StringUtils . isNotBlank ( param ) ) {
String [ ] split = param . split ( "/" ) ;
if ( split . length = = 2 ) {
startTime = split [ 0 ] ;
endTime = split [ 1 ] ;
} else {
throw new CustomerException ( 401 , "参数传入有误!" ) ;
}
//判断时间格式是否正确
boolean flagStart = CommonUtil . checkDateFormat ( startTime , "yyyy-MM-dd HH:mm:ss" ) ;
boolean flagEnd = CommonUtil . checkDateFormat ( endTime , "yyyy-MM-dd HH:mm:ss" ) ;
if ( ! flagStart | | ! flagEnd ) {
throw new CustomerException ( 401 , "参数传入有误!" ) ;
}
//设置类型为2手动
type = 2 ;
} else {
//如果参数传入为空就用当前时间作为结束时间,上一次拉取的最后一条数的结束时间为本次的开始时间
endTime = LocalDateTime . now ( ) . format ( formatter ) ;
//获取最后一条数据
OrderLogEntity lastOne = orderLogService . selectOrderLogLastOne ( ) ;
if ( Objects . isNull ( lastOne ) ) {
//如果为空就暂时还没有拉取过的数据就用当天的0点为开始时间
Long zeroTime = LocalDate . now ( )
. atStartOfDay ( ZoneOffset . ofHours ( 8 ) )
. toInstant ( )
. toEpochMilli ( ) ;
startTime = CommonUtil . datoLongToString ( zeroTime , "yyyy-MM-dd HH:mm:ss" , null ) ;
} else {
//如果不为空则开始时间为上一条数据的结束时间
String reqArgs = lastOne . getReqArgs ( ) ;
JSONObject jsonObject = JSONObject . parseObject ( reqArgs ) ;
startTime = jsonObject . getJSONObject ( "data" ) . getString ( "dispatch_time_end" ) ;
}
}
//查询配置站点
int finalType = type ;
ls . forEach ( stationlinenumEntity - > {
// 根据站点id和当前时间调用service 请求对方接口获取数据插入到我们的数据库
//XxlJobLogger.log("站点线路编号{}", stationlinenumEntity.getLogisticsLineNumber());
orderService . synOrderByLineNumData ( stationlinenumEntity . getLogisticsLineNumber ( ) , date ) ;
XxlJobLogger . log ( "站点线路编号{}" , stationlinenumEntity . getLogisticsLineNumber ( ) ) ;
orderService . synOrderByLineNumData ( stationlinenumEntity . getLogisticsLineNumber ( ) , startTime , endTime , finalTyp e) ;
} ) ;
}
return ReturnT . SUCCESS ;
@ -97,25 +139,21 @@ public class FactoryXxlJob {
// 获取请求日志 按照状态来识别
List < OrderLogEntity > ls = orderLogService . lambdaQuery ( ) . eq ( OrderLogEntity : : getType , 1 ) . eq ( OrderLogEntity : : getStatus , 1 ) . list ( ) ;
// //XxlJobLogger.log("日志集合 {}", ls);
XxlJobLogger . log ( "日志集合 {}" , ls ) ;
// 查询所有的数据库内容 只包含客户单号
List < StationOrderEntity > allDataList = stationOrderService . lambdaQuery ( ) . select ( StationOrderEntity : : getTcWlb008 ) . list ( ) ;
XxlJobLogger . log ( "allDataList{}" , allDataList . size ( ) ) ;
List < String > newList = new ArrayList < > ( ) ;
if ( allDataList . size ( ) ! = 0 ) {
newList . addAll ( allDataList . stream ( ) . map ( StationOrderEntity : : getTcWlb008 ) . collect ( Collectors . toList ( ) ) ) ;
XxlJobLogger . log ( "newList{}" , newList . size ( ) ) ;
if ( allDataList . size ( ) ! = 0 ) {
newList . addAll ( allDataList . stream ( ) . map ( StationOrderEntity : : getTcWlb008 ) . collect ( Collectors . toList ( ) ) ) ;
}
//XxlJobLogger.log("目前存在的数据 {}", newList);
XxlJobLogger . log ( "目前存在的数据 {}" , newList ) ;
// 解析数据
ls . forEach ( orderLogEntity - > {
//XxlJobLogger.log("日志对象 {}", orderLogEntity);
XxlJobLogger . log ( "日志对象 {}" , orderLogEntity ) ;
Map < String , List > map = orderService . dataRelative ( orderLogEntity ) ;
List < StationOrderEntity > dataList = map . get ( StationOrderEntity . class . getName ( ) ) ;
if ( dataList . size ( ) = = 0 ) {
//XxlJobLogger.log("本次解析操作没有数据");
if ( dataList . size ( ) = = 0 ) {
XxlJobLogger . log ( "本次解析操作没有数据" ) ;
//更新数据库请求日志状态
orderLogEntity . setStatus ( 0 ) ;
orderLogService . updateById ( orderLogEntity ) ;
@ -124,56 +162,32 @@ public class FactoryXxlJob {
dataList = checkDataExit ( dataList , newList ) ;
if ( dataList ! = null & & dataList . size ( ) ! = 0 ) {
//XxlJobLogger.log("保存对象StationOrderEntity {}", dataList);
XxlJobLogger . log ( "保存对象StationOrderEntity {}" , dataList ) ;
stationOrderService . saveBatch ( dataList ) ;
}
//XxlJobLogger.log("日志对象 {}", dataList.get(0).getId());
XxlJobLogger . log ( "日志对象 {}" , dataList . get ( 0 ) . getId ( ) ) ;
List < StaorderPackagesEntity > staorderPackagesEntityList = map . get ( StaorderPackagesEntity . class . getName ( ) ) ;
List < StaorderPackagesEntity > allDataStaorderPackagesEntity = staorderPackagesService . lambdaQuery ( ) . select ( StaorderPackagesEntity : : getTcPoa014 ) . list ( ) ;
List < String > allStaorderPackagesEntityUnionId = allDataStaorderPackagesEntity . stream ( ) . map ( StaorderPackagesEntity : : getTcPoa014 ) . collect ( Collectors . toList ( ) ) ;
allStaorderPackagesEntityUnionId . forEach ( t - > {
for ( int i = 0 ; i < staorderPackagesEntityList . size ( ) ; i + + ) {
if ( staorderPackagesEntityList . get ( i ) . getTcPoa014 ( ) . equals ( t ) ) {
staorderPackagesEntityList . remove ( i ) ;
}
for ( int i = 0 ; i < staorderPackagesEntityList . size ( ) ; i + + ) {
// 找到相同的ID 跳过
if ( allStaorderPackagesEntityUnionId . contains ( staorderPackagesEntityList . get ( i ) . getTcPoa014 ( ) ) ) {
staorderPackagesEntityList . remove ( i ) ;
continue ;
}
} ) ;
dataList . forEach ( v - > {
for ( int i = 0 ; i < staorderPackagesEntityList . size ( ) ; i + + ) {
if ( staorderPackagesEntityList . get ( i ) . getTcPoa014 ( ) . equals ( v . getTcWlb008 ( ) ) ) {
staorderPackagesEntityList . get ( i ) . setOrderId ( v . getId ( ) ) ;
// 为包件信息增加订单ID
for ( int j = 0 ; j < dataList . size ( ) ; j + + ) {
if ( staorderPackagesEntityList . get ( i ) . getTcPoa014 ( ) . equals ( dataList . get ( j ) . getTcWlb008 ( ) ) ) {
staorderPackagesEntityList . get ( i ) . setOrderId ( dataList . get ( j ) . getId ( ) ) ;
break ;
}
}
} ) ;
// for (int i = 0; i < staorderPackagesEntityList.size(); i++) {
// // 找到相同的ID 跳过
// if (allStaorderPackagesEntityUnionId.contains(staorderPackagesEntityList.get(i).getTcPoa014())) {
// staorderPackagesEntityList.remove(i);
// continue;
// }
// // 为包件信息增加订单ID
// for (int j = 0; j < dataList.size(); j++) {
// if (staorderPackagesEntityList.get(i).getTcPoa014().equals(dataList.get(j).getTcWlb008())) {
// staorderPackagesEntityList.get(i).setOrderId(dataList.get(j).getId());
// break;
// }
// }
//
// }
}
// 插入数据库
if ( staorderPackagesEntityList ! = null & & staorderPackagesEntityList . size ( ) ! = 0 ) {
//XxlJobLogger.log("保存对象StaorderPackagesEntity {}", staorderPackagesEntityList);
XxlJobLogger . log ( "保存对象StaorderPackagesEntity {}" , staorderPackagesEntityList ) ;
staorderPackagesService . saveBatch ( staorderPackagesEntityList ) ;
}
@ -189,7 +203,7 @@ public class FactoryXxlJob {
@Transactional ( rollbackFor = Exception . class )
public Boolean resoveFactoryData ( ) {
Map < Long , List < StaorderPackagesEntity > > map = new HashMap < > ( ) ;
Map < Long , List < StaorderPackagesEntity > > map = new HashMap < > ( ) ;
//TODO 调用Service 获取需要处理的数据
//查询要处理的订单信息
List < StationOrderEntity > stationOrderList = stationOrderService . list ( Wrappers . < StationOrderEntity > query ( ) . lambda ( )
@ -199,33 +213,33 @@ public class FactoryXxlJob {
//TODO 获取老系统中存在的数据 与当前需要处理的数据进行判断是否存在重复
AdvanceDTO advanceDTO = new AdvanceDTO ( ) ;
List < AdvanceEntity > queryData = iAdvanceClient . getQueryData ( advanceDTO ) ;
if ( queryData . size ( ) > 0 ) {
queryData . forEach ( it - > {
if ( queryData . size ( ) > 0 ) {
queryData . forEach ( it - > {
StationOrderEntity stationOrderEntity = collect . get ( it . getOrderSelfNum ( ) ) ;
if ( ObjectUtil . isNotNull ( stationOrderEntity ) ) {
if ( ObjectUtil . isNotNull ( stationOrderEntity ) ) {
collect . remove ( it . getOrderSelfNum ( ) ) ;
}
} ) ;
}
Map < Long , Integer > longIntegerMap = new HashMap < > ( ) ; //订单ID
List < ServiceNumEntity > list = new ArrayList < > ( ) ; // 服务号 自编码
if ( collect . size ( ) > 0 ) {
collect . forEach ( ( k , v ) - > {
if ( collect . size ( ) > 0 ) {
collect . forEach ( ( k , v ) - > {
List < StaorderPackagesEntity > staorderPackagesList = staorderPackagesService . list ( Wrappers . < StaorderPackagesEntity > query ( ) . lambda ( )
. eq ( StaorderPackagesEntity : : getIdentification , "2" )
. eq ( StaorderPackagesEntity : : getOrderId , k )
. eq ( StaorderPackagesEntity : : getOrderId , k )
) ;
if ( staorderPackagesList . size ( ) > 0 ) {
map . put ( k , staorderPackagesList ) ;
if ( staorderPackagesList . size ( ) > 0 ) {
map . put ( k , staorderPackagesList ) ;
}
//查询基地名称
StationlinenumEntity stationlinenumEntity = stationlinenumService . selectNameByNumber ( v . getTcWlb006 ( ) ) ;
StationlinenumEntity stationlinenumEntity = stationlinenumService . selectNameByNumber ( "," + v . getTcWlb006 ( ) + "," ) ;
String siteName = Objects . isNull ( stationlinenumEntity ) ? null : stationlinenumEntity . getLogisticsLineName ( ) ;
Integer warehouseId = warehouseClient . selectIdByName ( siteName ) ;
logger . info ( "###########resoveFactoryData: warehouseId={}" , warehouseId ) ;
logger . info ( "###########resoveFactoryData: warehouseId={}" , warehouseId ) ;
//添加订单信息
AdvanceEntity advanceEntity = new AdvanceEntity ( ) ;
AdvanceEntity advanceEntity = new AdvanceEntity ( ) ;
advanceEntity . setOrderSelfNum ( v . getTcWlb008 ( ) ) ; //订单自编号
advanceEntity . setSiteName ( siteName ) ; // 基地
advanceEntity . setArea ( "" ) ; // 区域
@ -262,79 +276,79 @@ public class FactoryXxlJob {
advanceEntity . setCarsNum ( v . getTcWla001 ( ) ) ; //派车单--snm 可以为空
advanceEntity . setDeleteTime ( 0 ) ; // 删除时间
advanceEntity . setWaybillNo ( "" ) ; //运单号 可以为空
advanceEntity . setWarehouseId ( Objects . isNull ( warehouseId ) ? 0 : warehouseId ) ; //导入人仓库id
advanceEntity . setWarehouseId ( Objects . isNull ( warehouseId ) ? 0 : warehouseId ) ; //导入人仓库id
advanceEntity . setWaybillStatus ( Byte . parseByte ( "1" ) ) ; //开单状态:1=未开单,2=已开单
advanceEntity . setOldId ( 0 ) ; //
advanceEntity . setFreeze ( Byte . parseByte ( "1" ) ) ; //冻结状态:1=正常,2=冻结
advanceEntity . setDeleteReason ( "" ) ; //删除原因
advanceEntity . setDeleteAdministratorsId ( 0 ) ; //删除用户
Integer integer = iAdvanceClient . addAdvanceClient ( advanceEntity ) ;
if ( integer > 0 ) {
if ( integer > 0 ) {
//订单id
longIntegerMap . put ( k , integer ) ;
longIntegerMap . put ( k , integer ) ;
// longIntegerMap.put(k,advanceEntity.getId());
}
} ) ;
//TODO 插入到老系统的的数据库
map . forEach ( ( k , v ) - > {
StationOrderEntity stationOrderEntity = collect . get ( k ) ; // 订单
Integer aLong = longIntegerMap . get ( k ) ; //订单ID
//查询基地名称
StationlinenumEntity stationlinenumEntity = stationlinenumService . selectNameByNumber ( stationOrderEntity . getTcWlb006 ( ) ) ;
List < GroupByPackagesDTO > groupByPackages = staorderPackagesService . selectGroupByLxAndPackNumByOrderId ( k ) ;
groupByPackages . forEach ( gpd - > {
//添加订单明细
AdvanceDetailEntity advanceDetailEntity = new AdvanceDetailEntity ( ) ;
advanceDetailEntity . setAdvanceId ( aLong ) ; //预仓id
advanceDetailEntity . setIsPay ( Byte . parseByte ( "0" ) ) ; //
advanceDetailEntity . setLineID ( "" ) ; //线下订单明细标时 可以为空
advanceDetailEntity . setSerialKey ( "" ) ; //序列号 可以为空
advanceDetailEntity . setArea ( "" ) ; //区域
advanceDetailEntity . setOrderSelfNum ( stationOrderEntity . getTcWlb008 ( ) ) ; //订单自编号
advanceDetailEntity . setType ( "诗尼曼" ) ; //订单来源
advanceDetailEntity . setSystemType ( "线上" ) ; //订单类型
advanceDetailEntity . setOrderNum ( "" ) ; //MSCS单号 可以为空
advanceDetailEntity . setIsOpai ( 0 ) ; //是否干仓配:1=是,0=否
advanceDetailEntity . setMtdsNo ( "" ) ; //MTDS单号 可以为空
advanceDetailEntity . setFirstPackName ( PackagesTypeEnum . getMes ( gpd . getLx ( ) ) ) ; //一级品类
advanceDetailEntity . setFirstPackCode ( "" ) ; //二级品类
advanceDetailEntity . setSiteName ( Objects . isNull ( stationlinenumEntity ) ? null : stationlinenumEntity . getLogisticsLineName ( ) ) ; //基地名称
advanceDetailEntity . setSiteCode ( "" ) ; //基地编码
advanceDetailEntity . setProductCode ( "" ) ; //货品名称 可以为空
advanceDetailEntity . setSecondPackName ( PackagesTypeEnum . getMes ( gpd . getLx ( ) ) ) ; //二级品类名称
advanceDetailEntity . setSecondPackCode ( "" ) ; //二级品类
advanceDetailEntity . setThirdPackName ( PackagesTypeEnum . getMes ( gpd . getLx ( ) ) ) ; //三级品类名称
advanceDetailEntity . setThirdPackCode ( gpd . getLx ( ) ) ; //三级品类
advanceDetailEntity . setGoodName ( "" ) ; //v产品类型 可以为空
advanceDetailEntity . setIsAddin ( "Y" ) ; //例放:N=正常,Y=例放
advanceDetailEntity . setIsThirdAddin ( "N" ) ; //三级例放:N=正常,Y=例放
advanceDetailEntity . setIsSuppin ( "N" ) ; //补进:N=正常,Y=例放
advanceDetailEntity . setMscsNum ( gpd . getTotal ( ) . toString ( ) ) ; //发货数量
advanceDetailEntity . setMtdsNum ( 0 ) ; //销售数量
advanceDetailEntity . setVolume ( "" ) ; //体积
advanceDetailEntity . setUnitNo ( gpd . getPackagenum ( ) ) ; //包条码
advanceDetailEntity . setMctsTruck ( stationOrderEntity . getTcWla001 ( ) ) ; //车次号
advanceDetailEntity . setMctsTruckNo ( "" ) ; //车牌号
advanceDetailEntity . setDate100 ( CommonUtil . stringToLocalDate ( stationOrderEntity . getTcWla002 ( ) ) ) ; //基地发货日期
advanceDetailEntity . setDate2 ( "" ) ; //预约到厂时间
advanceDetailEntity . setDate3 ( "" ) ; //实际到厂时间
advanceDetailEntity . setDate4 ( "" ) ; //开始装车时间
advanceDetailEntity . setDate5 ( "" ) ; //完成装车时间
advanceDetailEntity . setDate6 ( "" ) ; //车辆离厂时间
advanceDetailEntity . setCreateTime ( LocalDate . now ( ) ) ; //创建时间
advanceDetailEntity . setDeleteTime ( 0 ) ; //删除时间
advanceDetailEntity . setServiceNum ( stationOrderEntity . getTcWlb008 ( ) ) ; //服务号
advanceDetailEntity . setAdmin ( "" ) ; //
advanceDetailEntity . setAdministratorsId ( 0 ) ; //导入人
map . forEach ( ( k , v ) - > {
StationOrderEntity stationOrderEntity = collect . get ( k ) ; // 订单
Integer aLong = longIntegerMap . get ( k ) ; //订单ID
//查询基地名称
StationlinenumEntity stationlinenumEntity = stationlinenumService . selectNameByNumber ( "," + stationOrderEntity . getTcWlb006 ( ) + "," ) ;
List < GroupByPackagesDTO > groupByPackages = staorderPackagesService . selectGroupByLxAndPackNumByOrderId ( k ) ;
groupByPackages . forEach ( gpd - > {
//添加订单明细
AdvanceDetailEntity advanceDetailEntity = new AdvanceDetailEntity ( ) ;
advanceDetailEntity . setAdvanceId ( aLong ) ; //预仓id
advanceDetailEntity . setIsPay ( Byte . parseByte ( "0" ) ) ; //
advanceDetailEntity . setLineID ( "" ) ; //线下订单明细标时 可以为空
advanceDetailEntity . setSerialKey ( "" ) ; //序列号 可以为空
advanceDetailEntity . setArea ( "" ) ; //区域
advanceDetailEntity . setOrderSelfNum ( stationOrderEntity . getTcWlb008 ( ) ) ; //订单自编号
advanceDetailEntity . setType ( "诗尼曼" ) ; //订单来源
advanceDetailEntity . setSystemType ( "线上" ) ; //订单类型
advanceDetailEntity . setOrderNum ( "" ) ; //MSCS单号 可以为空
advanceDetailEntity . setIsOpai ( 0 ) ; //是否干仓配:1=是,0=否
advanceDetailEntity . setMtdsNo ( "" ) ; //MTDS单号 可以为空
advanceDetailEntity . setFirstPackName ( PackagesTypeEnum . getMes ( gpd . getLx ( ) ) ) ; //一级品类
advanceDetailEntity . setFirstPackCode ( "" ) ; //二级品类
advanceDetailEntity . setSiteName ( Objects . isNull ( stationlinenumEntity ) ? null : stationlinenumEntity . getLogisticsLineName ( ) ) ; //基地名称
advanceDetailEntity . setSiteCode ( "" ) ; //基地编码
advanceDetailEntity . setProductCode ( "" ) ; //货品名称 可以为空
advanceDetailEntity . setSecondPackName ( PackagesTypeEnum . getMes ( gpd . getLx ( ) ) ) ; //二级品类名称
advanceDetailEntity . setSecondPackCode ( "" ) ; //二级品类
advanceDetailEntity . setThirdPackName ( PackagesTypeEnum . getMes ( gpd . getLx ( ) ) ) ; //三级品类名称
advanceDetailEntity . setThirdPackCode ( gpd . getLx ( ) ) ; //三级品类
advanceDetailEntity . setGoodName ( "" ) ; //v产品类型 可以为空
advanceDetailEntity . setIsAddin ( "Y" ) ; //例放:N=正常,Y=例放
advanceDetailEntity . setIsThirdAddin ( "N" ) ; //三级例放:N=正常,Y=例放
advanceDetailEntity . setIsSuppin ( "N" ) ; //补进:N=正常,Y=例放
advanceDetailEntity . setMscsNum ( gpd . getTotal ( ) . toString ( ) ) ; //发货数量
advanceDetailEntity . setMtdsNum ( 0 ) ; //销售数量
advanceDetailEntity . setVolume ( "" ) ; //体积
advanceDetailEntity . setUnitNo ( gpd . getPackagenum ( ) ) ; //包条码
advanceDetailEntity . setMctsTruck ( stationOrderEntity . getTcWla001 ( ) ) ; //车次号
advanceDetailEntity . setMctsTruckNo ( "" ) ; //车牌号
advanceDetailEntity . setDate100 ( CommonUtil . stringToLocalDate ( stationOrderEntity . getTcWla002 ( ) ) ) ; //基地发货日期
advanceDetailEntity . setDate2 ( "" ) ; //预约到厂时间
advanceDetailEntity . setDate3 ( "" ) ; //实际到厂时间
advanceDetailEntity . setDate4 ( "" ) ; //开始装车时间
advanceDetailEntity . setDate5 ( "" ) ; //完成装车时间
advanceDetailEntity . setDate6 ( "" ) ; //车辆离厂时间
advanceDetailEntity . setCreateTime ( LocalDate . now ( ) ) ; //创建时间
advanceDetailEntity . setDeleteTime ( 0 ) ; //删除时间
advanceDetailEntity . setServiceNum ( stationOrderEntity . getTcWlb008 ( ) ) ; //服务号
advanceDetailEntity . setAdmin ( "" ) ; //
advanceDetailEntity . setAdministratorsId ( 0 ) ; //导入人
// advanceDetailEntity.setDueDate(0);//交期
advanceDetailEntity . setRemark ( "" ) ; //备注
advanceDetailEntity . setOldId ( 0 ) ; //
boolean b = advanceDetailClient . addAdvanceDetail ( advanceDetailEntity ) ;
//XxlJobLogger.log("addAdvanceDetail 添加状态 {}", b);
} ) ;
// 添加包件信息
advanceDetailEntity . setRemark ( "" ) ; //备注
advanceDetailEntity . setOldId ( 0 ) ; //
boolean b = advanceDetailClient . addAdvanceDetail ( advanceDetailEntity ) ;
XxlJobLogger . log ( "addAdvanceDetail 添加状态 {}" , b ) ;
} ) ;
// 添加包件信息
// DetailProductEntity detailProductEntity = new DetailProductEntity();
@ -349,35 +363,36 @@ public class FactoryXxlJob {
// detailProductEntity.setAdministratorsId(0);//创建人
// detailProductEntity.setDeleteTime(0);//删除时间
// Boolean aBoolean11 = detailProductClient.addDetailProduct(detailProductEntity);
// //XxlJobLogger.log("addDetailProduct 添加状态 {}", aBoolean11);
ServiceNumEntity serviceNum = new ServiceNumEntity ( ) ;
serviceNum . setServiceNum ( stationOrderEntity . getTcWlb007 ( ) ) ; //服务号
serviceNum . setTotal ( stationOrderEntity . getTcWlb009 ( ) . toString ( ) ) ; //订单数量
serviceNum . setDetailTotal ( stationOrderEntity . getTcWlb009 ( ) . toString ( ) ) ; // 包数量
serviceNum . setStoreName ( stationOrderEntity . getOcc02 ( ) ) ; //商场名
serviceNum . setStoreNo ( "" ) ; // 商场编号
serviceNum . setCustomerName ( stationOrderEntity . getTcWlb010 ( ) ) ; //顾客姓名
serviceNum . setCustomerPhone ( stationOrderEntity . getTcWlb011 ( ) ) ; //顾客电话
serviceNum . setCustomerRoad ( "" ) ; //顾客地址
serviceNum . setIsOpai ( 1 ) ; //是否干仓配
serviceNum . setCompleteSet ( "V" ) ; //齐套标识:Y=齐套,N=未齐套,V=未知
// XxlJobLogger.log("addDetailProduct 添加状态 {}", aBoolean11);
ServiceNumEntity serviceNum = new ServiceNumEntity ( ) ;
serviceNum . setServiceNum ( stationOrderEntity . getTcWlb007 ( ) ) ; //服务号
serviceNum . setTotal ( stationOrderEntity . getTcWlb009 ( ) . toString ( ) ) ; //订单数量
serviceNum . setDetailTotal ( stationOrderEntity . getTcWlb009 ( ) . toString ( ) ) ; // 包数量
serviceNum . setStoreName ( stationOrderEntity . getOcc02 ( ) ) ; //商场名
serviceNum . setStoreNo ( "" ) ; // 商场编号
serviceNum . setCustomerName ( stationOrderEntity . getTcWlb010 ( ) ) ; //顾客姓名
serviceNum . setCustomerPhone ( stationOrderEntity . getTcWlb011 ( ) ) ; //顾客电话
serviceNum . setCustomerRoad ( "" ) ; //顾客地址
serviceNum . setIsOpai ( 1 ) ; //是否干仓配
serviceNum . setCompleteSet ( "V" ) ; //齐套标识:Y=齐套,N=未齐套,V=未知
// serviceNum.setCreateTime(LocalDate.now());
serviceNum . setDeleteTime ( 0 ) ;
list . add ( serviceNum ) ;
v . forEach ( it - > {
it . setIdentification ( "1" ) ;
staorderPackagesService . updateById ( it ) ;
} ) ;
serviceNum . setDeleteTime ( 0 ) ;
list . add ( serviceNum ) ;
v . forEach ( it - > {
it . setIdentification ( "1" ) ;
staorderPackagesService . updateById ( it ) ;
} ) ;
} ) ;
//添加服务号和订单自编号表
} ) ;
//添加服务号和订单自编号表
Boolean aBoolean123 = serviceNumClient . addServiceNum ( list ) ;
//XxlJobLogger.log("addServiceNum添加状态 {}", aBoolean123);
XxlJobLogger . log ( "addServiceNum添加状态 {}" , aBoolean123 ) ;
//修改提交状态
stationOrderList . forEach ( it - > {
stationOrderList . forEach ( it - > {
it . setIdentification ( "1" ) ;
stationOrderService . updateById ( it ) ;
} ) ;
@ -387,18 +402,12 @@ public class FactoryXxlJob {
}
private List < StationOrderEntity > checkDataExit ( List < StationOrderEntity > dataList , List < String > allDataList ) {
allDataList . forEach ( t - > {
for ( int i = 0 ; i < dataList . size ( ) ; i + + ) {
if ( dataList . get ( i ) . getTcWlb008 ( ) . equals ( t ) ) {
dataList . remove ( i ) ;
}
for ( int i = 0 ; i < dataList . size ( ) ; i + + ) {
if ( allDataList . contains ( dataList . get ( i ) . getTcWlb008 ( ) ) ) {
// 如果存在 需要移除
dataList . remove ( i ) ;
}
} ) ;
// for (int i = 0; i < dataList.size(); i++) {
// if (allDataList.contains(dataList.get(i).getTcWlb008())) {
// dataList.remove(i);
// }
// }
}
return dataList ;
}