k94314517
2024-08-20 ade1b378ff2f0781be2fbc537b6c09237a50631a
代码初始化
已添加1个文件
已修改10个文件
703 ■■■■■ 文件已修改
server/system_service/src/main/java/com/doumee/core/utils/Constants.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformLog.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/JobOperateDTO.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java 496 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -5,6 +5,8 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import io.swagger.models.auth.In;
import org.apache.batik.util.Platform;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -918,6 +920,8 @@
        T reqJson =  mapper.readValue(json, clazz);
        return reqJson;
    }
    /**
     * å‘˜å·¥ä¿¡æ¯ç»´æŠ¤æ“ä½œåŽ†å²ç±»åž‹ 0解冻 1冻结 2拉黑 3恢复 4设为拜访人 5取消拜访人 6设为高级审批人 7取消高级审批人 8手动离场 9删除 10更新 11授权门禁权限 12离职 13恢复在职
     */
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/PdaPlatformController.java
@@ -21,6 +21,7 @@
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -47,8 +48,6 @@
    @Autowired
    private PlatformJobService platformJobService;
    @Autowired
    private PlatformBooksService platformBooksService;
    @Autowired
    private PlatformGroupService platformGroupService;
@@ -58,9 +57,12 @@
    @ApiOperation("获取月台组信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "queryType", dataType = "Integer", value = "0=全部月台;1=启用月台 2=配置我的月台", required = false)
            @ApiImplicitParam(name = "queryType", dataType = "Integer", value = "0=全部月台;1=启用月台 2=配置显示月台", required = false)
    })
    @GetMapping("/getPlatformGroupList")
    public ApiResponse<List<PlatformGroup>>  getPlatformGroupList (@RequestParam Integer queryType, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
@@ -74,5 +76,65 @@
        return ApiResponse.success("操作成功");
    }
    @ApiOperation("车辆排队情况")
    @PostMapping("/platformLineUpPage")
    public ApiResponse<PageData<PlatformJob>> platformLineUpPage (@RequestBody PageWrap<PlatformJob> pageWrap) {
        return ApiResponse.success(platformJobService.findPage(pageWrap));
    }
    @ApiOperation("月台叫号")
    @PostMapping("/platformCallNumber")
    public ApiResponse platformCallNumber (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        jobOperateDTO.setLoginUserInfo(getLoginUser(token));
        platformJobService.platformInPark(jobOperateDTO);
        return ApiResponse.success("操作成功");
    }
    @ApiOperation("转移月台")
    @PostMapping("/platformMove")
    public ApiResponse platformMove (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        jobOperateDTO.setLoginUserInfo(getLoginUser(token));
        platformJobService.platformInPark(jobOperateDTO);
        return ApiResponse.success("操作成功");
    }
    @ApiOperation("月台过号")
    @PostMapping("/platformOverNumber")
    public ApiResponse platformOverNumber (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        jobOperateDTO.setLoginUserInfo(getLoginUser(token));
        platformJobService.platformInPark(jobOperateDTO);
        return ApiResponse.success("操作成功");
    }
    @ApiOperation("异常挂起")
    @PostMapping("/platformErr")
    public ApiResponse platformErr (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        jobOperateDTO.setLoginUserInfo(getLoginUser(token));
        platformJobService.platformInPark(jobOperateDTO);
        return ApiResponse.success("操作成功");
    }
    @ApiOperation("手动开始作业")
    @PostMapping("/beginWork")
    public ApiResponse beginWork (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        jobOperateDTO.setLoginUserInfo(getLoginUser(token));
        platformJobService.platformInPark(jobOperateDTO);
        return ApiResponse.success("操作成功");
    }
    @ApiOperation("完成作业")
    @PostMapping("/finishWork")
    public ApiResponse finishWork (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        jobOperateDTO.setLoginUserInfo(getLoginUser(token));
        platformJobService.platformInPark(jobOperateDTO);
        return ApiResponse.success("操作成功");
    }
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java
@@ -180,4 +180,7 @@
    @TableField(exist = false)
    private Boolean showConfig = false;
    @ApiModelProperty(value = "作业状态:0=空闲;1=作业中")
    @TableField(exist = false)
    private Integer workStatus;
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import com.doumee.core.utils.Constants;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
@@ -11,6 +12,7 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import java.math.BigDecimal;
import java.util.Objects;
/**
 * æœˆå°è°ƒåº¦ä½œä¸šä¿¡æ¯è¡¨
@@ -91,7 +93,6 @@
    @ApiModelProperty(value = "签到时间")
    @ExcelColumn(name="签到时间")
    private Date signDate;
    @ApiModelProperty(value = "签到方式 0app签到 1扫码签到", example = "1")
@@ -161,7 +162,6 @@
    @ApiModelProperty(value = "月台转交时间")
    @ExcelColumn(name="月台转交时间")
    private Date transPlatformDate;
    @ApiModelProperty(value = "月台转交处理人", example = "1")
@@ -278,4 +278,34 @@
    @TableField(exist = false)
    private BigDecimal getDistance;
    @ApiModelProperty(value = "业务触发时间  æ—¶é—´")
    @TableField(exist = false)
    private Long optTime;
    @ApiModelProperty(value = "已作业时间")
    @TableField(exist = false)
    private Long workTime;
    @ApiModelProperty(value = "WMS任务信息")
    @TableField(exist = false)
    private  PlatformWmsJob platformWmsJob;
    public void dealTime(){
        if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WAIT_CONFIRM.getKey())
                || Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey())
         ){
            return;
        }
        if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())){
            this.setOptTime(this.getSignDate().getTime());
        }else if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey())){
            this.setOptTime(this.getInwaitDate().getTime());
        }else if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())){
            this.setOptTime(this.getCallDate().getTime());
        }else if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){
            this.setOptTime(this.getStartDate().getTime());
        }
    }
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformLog.java
@@ -79,15 +79,15 @@
    @ExcelColumn(name="操作后内容")
    private String afterContent;
    @ApiModelProperty(value = "参数1")
    @ApiModelProperty(value = "参数1 å¼€å§‹ä½œä¸šæ—¶é—´")
    @ExcelColumn(name="参数1")
    private String param1;
    @ApiModelProperty(value = "参数2")
    @ApiModelProperty(value = "参数2 ç»“束作业时间")
    @ExcelColumn(name="参数2")
    private String param2;
    @ApiModelProperty(value = "参数3")
    @ApiModelProperty(value = "参数3 æœ¬æ¬¡ä½œä¸šè€—æ—¶ å•位: ç§’")
    @ExcelColumn(name="参数3")
    private String param3;
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java
@@ -10,6 +10,7 @@
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import java.util.List;
/**
 * æœˆå°_WMS作业通知单行数据
@@ -112,4 +113,7 @@
    @TableField(exist = false)
    private int isNew;
    @ApiModelProperty(value = "月台_WMS作业通知单明细")
    @TableField(exist = false)
    private List<PlatformWmsDetail> platformWmsDetailList;
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/JobOperateDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
package com.doumee.dao.web.reqeust;
import com.doumee.core.model.LoginUserInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * Created by IntelliJ IDEA.
 *
 * @Author : Rk
 * @create 2023/12/7 11:19
 */
@Data
@Api(tags = "月台转移业务" )
public class JobOperateDTO {
    @ApiModelProperty(value = "任务主键")
    private Integer jobId;
    @ApiModelProperty(value = "转移月台主键 è½¬ç§»ä¸šåŠ¡ä½¿ç”¨")
    private Integer platformId;
    @ApiModelProperty(value = "后车牌号 è‡ªåŠ¨å¼€å§‹ä»»åŠ¡ä½¿ç”¨")
    private String carCodeBack;
    @ApiModelProperty(value = "月台相机主键 è‡ªåŠ¨å¼€å§‹ä»»åŠ¡ä½¿ç”¨")
    private Integer deviceId;
    @ApiModelProperty(value = "用户", hidden = true)
    private LoginUserInfo loginUserInfo;
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
@@ -4,6 +4,7 @@
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.PlatformJob;
import com.doumee.dao.web.reqeust.JobDetailDTO;
import com.doumee.dao.web.reqeust.JobOperateDTO;
import com.doumee.dao.web.reqeust.LineUpDetailDTO;
import com.doumee.dao.web.reqeust.SignInDTO;
import com.doumee.dao.web.response.DriverHomeVO;
@@ -122,4 +123,53 @@
     * @return
     */
    LineUpVO lineUpDetail(LineUpDetailDTO lineUpDetailDTO);
    /**
     * é€šçŸ¥å…¥å›­
     * @param jobOperateDTO
     */
    void platformInPark(JobOperateDTO jobOperateDTO);
    /**
     * æœˆå°å«å·
     * @param jobOperateDTO
     */
    void platformCallNumber(JobOperateDTO jobOperateDTO);
    /**
     * è½¬ç§»æœˆå°
     * @param jobOperateDTO
     */
    void platformMove(JobOperateDTO jobOperateDTO);
    /**
     * æœˆå°è¿‡å·
     * @param jobOperateDTO
     */
    void platformOverNumber(JobOperateDTO jobOperateDTO);
    /**
     * å¼‚常挂起
     * @param jobOperateDTO
     */
    void platformErr(JobOperateDTO jobOperateDTO);
    /**
     * æ‰‹åŠ¨å¼€å§‹ä½œä¸š
     * @param jobOperateDTO
     */
    void beginWork(JobOperateDTO jobOperateDTO);
    /**
     * æœˆå°ç›¸æœº å¼€å§‹ä½œä¸š
     * @param jobOperateDTO
     */
    void cameraStartWork(JobOperateDTO jobOperateDTO);
    /**
     * å®Œæˆä½œä¸š
     * @param jobOperateDTO
     */
    void finishWork(JobOperateDTO jobOperateDTO);
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
@@ -1365,7 +1365,7 @@
            platformLog.setCreateDate(new Date());
            platformLog.setJobId(platformJob.getId());
            platformLog.setIsdeleted(Constants.ZERO);
            platformLog.setObjType(Constants.ZERO);
            platformLog.setObjType(Constants.PlatformJobStatus.WART_SIGN_IN.getKey());
            platformLog.setObjId(platformJob.getId().toString());
            platformLog.setAfterContent(JSONObject.toJSONString(platformJob));
            platformLogMapper.insert(platformLog);
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
@@ -204,8 +204,9 @@
        List<Platform> allPlatformList = platformJoinMapper.selectJoinList(Platform.class,
                new MPJLambdaWrapper<Platform>()
                        .selectAll(Platform.class)
                        .select(" ( select count(1) from platform_job pj where t.id = pj.PLATFORM_ID and pj.STATUS = "+Constants.PlatformJobStatus.WORKING.getKey()+" ) as workStatus ")
                        .eq(Platform::getIsdeleted, Constants.ZERO)
                        //TODO å¾…确认月台状态字段
                        .eq(Platform::getStatus, Constants.ZERO)
                        .eq(Objects.nonNull(queryType)&&!Constants.equalsInteger(queryType,Constants.ZERO),Platform::getStatus,Constants.ZERO)
        );
        //处理我的月台信息 æ˜¯å¦é…ç½®éšè—
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -1,24 +1,20 @@
package com.doumee.service.business.impl;
import cn.hutool.crypto.asymmetric.Sign;
import com.alibaba.fastjson.JSONObject;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.PositionUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.PlatformJobMapper;
import com.doumee.dao.business.PlatformMapper;
import com.doumee.dao.business.*;
import com.doumee.dao.business.join.PlatformJobJoinMapper;
import com.doumee.dao.business.model.Platform;
import com.doumee.dao.business.model.PlatformBooks;
import com.doumee.dao.business.model.PlatformJob;
import com.doumee.dao.business.model.PlatformReason;
import com.doumee.dao.business.model.*;
import com.doumee.dao.web.reqeust.JobDetailDTO;
import com.doumee.dao.web.reqeust.JobOperateDTO;
import com.doumee.dao.web.reqeust.LineUpDetailDTO;
import com.doumee.dao.web.reqeust.SignInDTO;
import com.doumee.dao.web.response.DriverHomeVO;
@@ -30,6 +26,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -53,6 +50,9 @@
    private PlatformJobMapper platformJobMapper;
    @Autowired
    private PlatformDeviceMapper platformDeviceMapper;
    @Autowired
    private PlatformJobJoinMapper platformJobJoinMapper;
    @Autowired
@@ -60,6 +60,15 @@
    @Autowired
    private PlatformMapper platformMapper;
    @Autowired
    private PlatformLogMapper platformLogMapper;
    @Autowired
    private PlatformWmsJobMapper platformWmsJobMapper;
    @Autowired
    private PlatformWmsDetailMapper platformWmsDetailMapper;
    @Override
@@ -183,8 +192,8 @@
                .ge(pageWrap.getModel().getInHkdate() != null, PlatformJob::getInHkdate, Utils.Date.getStart(pageWrap.getModel().getInHkdate()))
                .le(pageWrap.getModel().getInHkdate() != null, PlatformJob::getInHkdate, Utils.Date.getEnd(pageWrap.getModel().getInHkdate()))
                .eq(pageWrap.getModel().getType() != null, PlatformJob::getType, pageWrap.getModel().getType())
                .eq(pageWrap.getModel().getCarCodeFront() != null, PlatformJob::getCarCodeFront, pageWrap.getModel().getCarCodeFront())
                .eq(pageWrap.getModel().getCarCodeBack() != null, PlatformJob::getCarCodeBack, pageWrap.getModel().getCarCodeBack())
                .like(pageWrap.getModel().getCarCodeFront() != null, PlatformJob::getCarCodeFront, pageWrap.getModel().getCarCodeFront())
                .like(pageWrap.getModel().getCarCodeBack() != null, PlatformJob::getCarCodeBack, pageWrap.getModel().getCarCodeBack())
                .eq(pageWrap.getModel().getCompanyId() != null, PlatformJob::getCompanyId, pageWrap.getModel().getCompanyId())
                .eq(pageWrap.getModel().getCompanyNamePath() != null, PlatformJob::getCompanyNamePath, pageWrap.getModel().getCompanyNamePath())
                .ge(pageWrap.getModel().getCancelDate() != null, PlatformJob::getCancelDate, Utils.Date.getStart(pageWrap.getModel().getCancelDate()))
@@ -197,7 +206,9 @@
                .le(pageWrap.getModel().getArriveDate() != null, PlatformJob::getArriveDate, Utils.Date.getEnd(pageWrap.getModel().getArriveDate()))
                .eq(pageWrap.getModel().getInType() != null, PlatformJob::getInType, pageWrap.getModel().getInType())
                .eq(pageWrap.getModel().getTotalNum() != null, PlatformJob::getTotalNum, pageWrap.getModel().getTotalNum())
                .eq(pageWrap.getModel().getPlatformGroupId() != null, PlatformJob::getPlatformGroupId, pageWrap.getModel().getPlatformGroupId())
        ;
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
@@ -205,8 +216,45 @@
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(platformJobMapper.selectPage(page, queryWrapper));
        PageData<PlatformJob> pageData = PageData.from(platformJobMapper.selectPage(page, queryWrapper));
        pageData.getRecords().forEach(i->{
            i.dealTime();
            this.getWmsJobData(i);
        });
        return pageData;
    }
    public void getWmsJobData(PlatformJob platformJob){
        if(Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.zycxh)
        || Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.zyczh)
        || Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.sgscxh)) {
            PlatformWmsJob platformWmsJob = platformWmsJobMapper.selectOne(new QueryWrapper<PlatformWmsJob>().lambda()
                    .eq(PlatformWmsJob::getIsdeleted,Constants.ZERO)
                    .eq(PlatformWmsJob::getJobId,platformJob.getId())
                    .orderByDesc(PlatformWmsJob::getId)
                    .last(" limit 1")
            );
            if(Objects.isNull(platformWmsJob)){
                return;
            }
            List<PlatformWmsDetail> platformWmsDetailList = platformWmsDetailMapper.selectList(new QueryWrapper<PlatformWmsDetail>().lambda()
                    .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO)
                    .eq(PlatformWmsDetail::getJobId,platformJob.getId()));
            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformWmsDetailList)){
                platformJob.setTotalNum(
                        platformWmsDetailList.stream().map(m->m.getIoQty()).reduce(BigDecimal.ZERO,BigDecimal::add)
                );
                platformWmsJob.setPlatformWmsDetailList(platformWmsDetailList);
                platformJob.setPlatformWmsJob(platformWmsJob);
            }
        }
    }
    @Override
    public long count(PlatformJob platformJob) {
@@ -251,6 +299,9 @@
        if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"业务状态已流转,请刷新查看");
        }
        PlatformJob oldPlatformJob = new PlatformJob();
        BeanUtils.copyProperties(platformJob,oldPlatformJob);
        if(Constants.equalsInteger(signInDTO.getSignType(),Constants.ZERO)){
            this.distanceSignIn(signInDTO,platformJob);
        }else if(Constants.equalsInteger(signInDTO.getSignType(),Constants.ONE)){
@@ -260,6 +311,8 @@
        platformJob.setSingType(Constants.ZERO);
        platformJob.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey());
        platformJobMapper.updateById(platformJob);
        //存储操作日志
        savePlatformLog(Constants.PlatformJobStatus.WAIT_CALL.getKey(),oldPlatformJob,platformJob);
    }
@@ -331,7 +384,11 @@
            if(Objects.nonNull(platform)){
                platformJob.setPlatformName(platform.getName());
            }
        }
        platformJob.dealTime();
        this.getWorkTime(platformJob);
        this.getWmsJobData(platformJob);
        return platformJob;
    }
@@ -348,9 +405,6 @@
        List<PlatformJob> platformJobList = platformJobJoinMapper.selectJoinList(PlatformJob.class,
                new MPJLambdaWrapper<PlatformJob>()
                        .selectAll(PlatformJob.class)
                        .selectAs(PlatformReason::getGroupId,PlatformJob::getGroupId)
                        .leftJoin(PlatformBooks.class,PlatformBooks::getJobId,PlatformJob::getId)
                        .leftJoin(PlatformReason.class,PlatformReason::getId,PlatformBooks::getReasonId)
                        .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                        .eq(Constants.equalsInteger(lineUpDetailDTO.getQueryType(),Constants.ZERO)
                                ,PlatformJob::getDrivierPhone,lineUpDetailDTO.getMobile())
@@ -361,40 +415,35 @@
                                Constants.PlatformJobStatus.CALLED.getKey())
                        .orderByAsc(PlatformJob::getSignDate)
        );
        //获取所有月台
        List<Integer> platformIdList = platformJobList.stream().map(m->m.getGroupId()).collect(Collectors.toList());
        //获取所有月台组
        List<Integer> platformIdList = platformJobList.stream().map(m->m.getPlatformGroupId()).collect(Collectors.toList());
        List<Platform> platformList = platformMapper.selectList(new QueryWrapper<Platform>().lambda()
                .eq(Platform::getIsdeleted,Constants.ZERO)
                .in(Platform::getId,platformIdList));
        for (Platform platform:platformList) {
            //查询本月台下 è‡ªå·±çš„æ•°æ® æœ€æ—©ç­¾åˆ°çš„
            PlatformJob platformJob = platformJobList.stream().filter(i->Constants.equalsInteger(i.getGroupId(),platform.getId())).findFirst().orElse(null);
            //查询在当前月台下 ç­¾åˆ°æŽ’队车辆数据
            //查询本月台组下 è‡ªå·±çš„æ•°æ® æœ€æ—©ç­¾åˆ°çš„
            PlatformJob platformJob = platformJobList.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),platform.getId())).findFirst().orElse(null);
            //查询在当前月台组下 ç­¾åˆ°æŽ’队车辆数据
            List<PlatformJob> platformJobSignInList = platformJobJoinMapper.selectJoinList(PlatformJob.class,
                    new MPJLambdaWrapper<PlatformJob>()
                            .selectAll(PlatformJob.class)
                            .selectAs(PlatformReason::getGroupId,PlatformJob::getGroupId)
                            .leftJoin(PlatformBooks.class,PlatformBooks::getJobId,PlatformJob::getId)
                            .leftJoin(PlatformReason.class,PlatformReason::getId,PlatformBooks::getReasonId)
                            .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                            .eq(PlatformJob::getPlatformGroupId,platform.getGroupId())
                            .ge(Objects.nonNull(platformJob),PlatformJob::getSignDate,DateUtil.getDate(platformJob.getSignDate(),"yyyy-MM-dd HH:mm:ss"))
                            .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey(),
                                    Constants.PlatformJobStatus.IN_WAIT.getKey(),
                                    Constants.PlatformJobStatus.CALLED.getKey())
                            .orderByDesc(PlatformJob::getSignDate));
            platform.setSignJobList(platformJobSignInList);
            //查询当前月台下
            //查询当前月台组下
            List<PlatformJob> platformJobWorkList = platformJobJoinMapper.selectJoinList(PlatformJob.class,
                    new MPJLambdaWrapper<PlatformJob>()
                            .selectAll(PlatformJob.class)
                            .selectAs(PlatformReason::getGroupId,PlatformJob::getGroupId)
                            .leftJoin(PlatformBooks.class,PlatformBooks::getJobId,PlatformJob::getId)
                            .leftJoin(PlatformReason.class,PlatformReason::getId,PlatformBooks::getReasonId)
                            .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                            .eq(PlatformJob::getPlatformGroupId,platform.getGroupId())
                            .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey())
                            .orderByDesc(PlatformJob::getSignDate));
            platform.setSignJobList(platformJobSignInList);
            platform.setWorkJobList(platformJobWorkList);
        }
        lineUpVO.setPlatformList(platformList);
@@ -402,5 +451,398 @@
    }
    /**
     * èŽ·å–å·²ä½œä¸šæ—¶é—´
     * @param platformJob
     */
    public void getWorkTime(PlatformJob platformJob){
        List<PlatformLog> platformLogList = platformLogMapper.selectList(new QueryWrapper<PlatformLog>()
                .lambda().eq(PlatformLog::getIsdeleted,Constants.ZERO)
                .eq(PlatformLog::getJobId,platformJob.getId())
                .ne(PlatformLog::getParam3,"0")
        );
        Long optTime = 0L;
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformLogList)){
            List<Long> param3List = platformLogList.stream().map(m->Long.valueOf(m.getParam3())).collect(Collectors.toList());
            for (Long val:param3List) {
                optTime = optTime + val;
            }
        }
        if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){
            //查询最后一次开始的日志数据
            PlatformLog lastBeginPlatform = platformLogMapper.selectOne(new QueryWrapper<PlatformLog>().lambda()
                    .eq(PlatformLog::getIsdeleted,Constants.ZERO)
                    .eq(PlatformLog::getObjType,Constants.PlatformJobStatus.WORKING.getKey())
                    .eq(PlatformLog::getJobId,platformJob.getId())
                    .orderByDesc(PlatformLog::getCreateDate)
                    .last(" limit 1 ")
            );
            if(Objects.nonNull(lastBeginPlatform)){
                String v = Long.toString(System.currentTimeMillis() - lastBeginPlatform.getCreateDate().getTime() / 1000) ;
                optTime = optTime + Long.valueOf(v);
            }
        }
        platformJob.setWorkTime(optTime);
    }
    /**
     * é€šçŸ¥å…¥å›­
     */
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public void platformInPark(JobOperateDTO jobOperateDTO){
        if(Objects.isNull(jobOperateDTO)
                || Objects.isNull(jobOperateDTO.getJobId())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        PlatformJob platformJob = platformJobMapper.selectById(jobOperateDTO.getJobId());
        if(Objects.isNull(platformJob)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转!");
        }
        PlatformJob oldPlatformJob = new PlatformJob();
        BeanUtils.copyProperties(platformJob,oldPlatformJob);
        platformJob.setInwaitDate(new Date());
        platformJob.setInwaitUserId(jobOperateDTO.getLoginUserInfo().getId());
        platformJob.setStatus(Constants.PlatformJobStatus.IN_WAIT.getKey());
        platformJob.setEditDate(new Date());
        platformJobMapper.updateById(platformJob);
        if(Constants.equalsInteger(platformJob.getType(),Constants.TWO)
        || Constants.equalsInteger(platformJob.getType(),Constants.THREE)
        || Constants.equalsInteger(platformJob.getType(),Constants.FOUR)){
            //TODO ä¸‹å‘入园权限
        }
        //存储操作日志
        savePlatformLog(Constants.PlatformJobStatus.WAIT_CALL.getKey(),oldPlatformJob,platformJob);
    }
    /**
     * æœˆå°å«å·
     */
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public void platformCallNumber(JobOperateDTO jobOperateDTO){
        if(Objects.isNull(jobOperateDTO)
                || Objects.isNull(jobOperateDTO.getJobId())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        PlatformJob platformJob = platformJobMapper.selectById(jobOperateDTO.getJobId());
        if(Objects.isNull(platformJob)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(!(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())
                || Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey())
                || Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.TRANSFERING.getKey())
        ) ){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转!");
        }
        PlatformJob oldPlatformJob = new PlatformJob();
        BeanUtils.copyProperties(platformJob,oldPlatformJob);
        platformJob.setCallDate(new Date());
        platformJob.setCallUserId(jobOperateDTO.getLoginUserInfo().getId());
        platformJob.setStatus(Constants.PlatformJobStatus.CALLED.getKey());
        platformJob.setEditDate(new Date());
        platformJobMapper.updateById(platformJob);
        //存储操作日志
        savePlatformLog(Constants.PlatformJobStatus.CALLED.getKey(),oldPlatformJob,platformJob);
    }
    /**
     * è½¬ç§»æœˆå°
     * @param jobOperateDTO
     */
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public void platformMove(JobOperateDTO jobOperateDTO){
        if(Objects.isNull(jobOperateDTO)
        || Objects.isNull(jobOperateDTO.getJobId())
                || Objects.isNull(jobOperateDTO.getPlatformId())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        PlatformJob platformJob = platformJobMapper.selectById(jobOperateDTO.getJobId());
        if(Objects.isNull(platformJob)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if( !( Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())
            || Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.EXCEPTION.getKey())
        )){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转!");
        }
        if(Constants.equalsInteger(platformJob.getPlatformId(),jobOperateDTO.getPlatformId())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"无法转移本月台");
        }
        PlatformJob oldPlatformJob = new PlatformJob();
        BeanUtils.copyProperties(platformJob,oldPlatformJob);
        platformJob.setTransPlatformDate(new Date());
        platformJob.setTransPlatformUserId(jobOperateDTO.getLoginUserInfo().getId());
        platformJob.setPlatformId(jobOperateDTO.getPlatformId());
        platformJob.setStatus(Constants.PlatformJobStatus.TRANSFERING.getKey());
        platformJob.setEditDate(new Date());
        platformJobMapper.updateById(platformJob);
        //TODO è°ƒèµ·WMS é€šçŸ¥æœˆå°è½¬ç§»
        //存储操作日志
        savePlatformLog(Constants.PlatformJobStatus.TRANSFERING.getKey(),oldPlatformJob,platformJob);
    }
    /**
     * æœˆå°è¿‡å·
     */
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public void platformOverNumber(JobOperateDTO jobOperateDTO){
        if(Objects.isNull(jobOperateDTO)
                || Objects.isNull(jobOperateDTO.getJobId())
                || Objects.isNull(jobOperateDTO.getPlatformId())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        PlatformJob platformJob = platformJobMapper.selectById(jobOperateDTO.getJobId());
        if(Objects.isNull(platformJob)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转!");
        }
        PlatformJob oldPlatformJob = new PlatformJob();
        BeanUtils.copyProperties(platformJob,oldPlatformJob);
        platformJob.setStatus(Constants.PlatformJobStatus.WART_SIGN_IN.getKey());
        platformJob.setEditDate(new Date());
        platformJobMapper.updateById(platformJob);
        //存储操作日志
        savePlatformLog(Constants.PlatformJobStatus.WART_SIGN_IN.getKey(),oldPlatformJob,platformJob);
    }
    /**
     * å¼‚常挂起
     */
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public void platformErr(JobOperateDTO jobOperateDTO){
        if(Objects.isNull(jobOperateDTO)
                || Objects.isNull(jobOperateDTO.getJobId())
                || Objects.isNull(jobOperateDTO.getPlatformId())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        PlatformJob platformJob = platformJobMapper.selectById(jobOperateDTO.getJobId());
        if(Objects.isNull(platformJob)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转!");
        }
        PlatformJob oldPlatformJob = new PlatformJob();
        BeanUtils.copyProperties(platformJob,oldPlatformJob);
        platformJob.setErrorDate(new Date());
        platformJob.setErrorUserId(jobOperateDTO.getLoginUserInfo().getId());
        platformJob.setStatus(Constants.PlatformJobStatus.EXCEPTION.getKey());
        platformJob.setEditDate(new Date());
        platformJobMapper.updateById(platformJob);
        //存储操作日志
        savePlatformLog(Constants.PlatformJobStatus.EXCEPTION.getKey(),oldPlatformJob,platformJob);
    }
    /**
     * å¼€å§‹ä½œä¸š
     */
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public void beginWork(JobOperateDTO jobOperateDTO){
        if(Objects.isNull(jobOperateDTO)
                || Objects.isNull(jobOperateDTO.getJobId())
                || Objects.isNull(jobOperateDTO.getPlatformId())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        PlatformJob platformJob = platformJobMapper.selectById(jobOperateDTO.getJobId());
        if(Objects.isNull(platformJob)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转!");
        }
        platformJobMapper.update(null,new UpdateWrapper<PlatformJob>()
                .lambda()
                .set(Objects.isNull(platformJob.getStartDate()),PlatformJob::getStartDate,new Date())
                .set(PlatformJob::getEditDate,new Date())
                .set(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey())
                .eq(PlatformJob::getId,jobOperateDTO.getJobId())
        );
        PlatformJob oldPlatformJob = new PlatformJob();
        BeanUtils.copyProperties(platformJob,oldPlatformJob);
        if(Objects.isNull(platformJob.getStartDate())){
            platformJob.setStartDate(new Date());
        }
        platformJob.setStatus(Constants.PlatformJobStatus.WORKING.getKey());
        platformJob.setEditDate(new Date());
        platformJobMapper.updateById(platformJob);
        //存储操作日志
        savePlatformLog(Constants.PlatformJobStatus.WORKING.getKey(),oldPlatformJob,platformJob);
    }
    /**
     * å®Œæˆä½œä¸š
     */
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public void finishWork(JobOperateDTO jobOperateDTO){
        if(Objects.isNull(jobOperateDTO)
                || Objects.isNull(jobOperateDTO.getJobId())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        PlatformJob platformJob = platformJobMapper.selectById(jobOperateDTO.getJobId());
        if(Objects.isNull(platformJob)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转!");
        }
        PlatformJob oldPlatformJob = new PlatformJob();
        BeanUtils.copyProperties(platformJob,oldPlatformJob);
        platformJob.setDoneDate(new Date());
        platformJob.setStatus(Constants.PlatformJobStatus.EXCEPTION.getKey());
        platformJob.setEditDate(new Date());
        platformJobMapper.updateById(platformJob);
        //存储操作日志
        savePlatformLog(Constants.PlatformJobStatus.EXCEPTION.getKey(),oldPlatformJob,platformJob);
        if(Constants.equalsInteger(platformJob.getType(),Constants.TWO)){
            //TODO å¤–协车装货 æŸ¥è¯¢TMS ç”µå­é”æƒ…况
        }else if(Constants.equalsInteger(platformJob.getType(),Constants.ONE) || Constants.equalsInteger(platformJob.getType(),Constants.FOUR)){
            //TODO å¤–协车卸货 æˆ–者 å¸‚公司车卸货 åˆ™æ ¹æ®ä»»åŠ¡æƒ…å†µè¿›è¡Œä¸‹å‘ç¦»å›­æƒé™
        }
    }
    /**
     * æœˆå°ç›¸æœºæŽ¨é€ å¼€å§‹ä½œä¸š
     * @param jobOperateDTO
     */
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public void cameraStartWork(JobOperateDTO jobOperateDTO){
        if(Objects.isNull(jobOperateDTO)
                || Objects.isNull(jobOperateDTO.getDeviceId())
                || StringUtils.isBlank(jobOperateDTO.getCarCodeBack())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        PlatformDevice platformDevice = platformDeviceMapper.selectOne(new QueryWrapper<PlatformDevice>().lambda()
                        .eq(PlatformDevice::getIsdeleted,Constants.ZERO)
                .eq(PlatformDevice::getDeviceId,jobOperateDTO.getDeviceId())
                .last(" limit 1")
        );
        if(Objects.isNull(platformDevice)){
            return;
        }
        PlatformJob platformJob =  platformJobMapper.selectOne(new QueryWrapper<PlatformJob>().lambda()
                .eq(PlatformJob::getPlatformId,platformDevice.getPlatformId())
                .eq(PlatformJob::getCarCodeBack,jobOperateDTO.getCarCodeBack())
                .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey())
                .last(" limit 1 ")
        );
        if(Objects.isNull(platformJob)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转!");
        }
        PlatformJob oldPlatformJob = new PlatformJob();
        BeanUtils.copyProperties(platformJob,oldPlatformJob);
        if(Objects.isNull(platformJob.getStartDate())){
            platformJob.setStartDate(new Date());
        }
        platformJob.setStatus(Constants.PlatformJobStatus.WORKING.getKey());
        platformJob.setEditDate(new Date());
        platformJobMapper.updateById(platformJob);
        //存储操作日志
        savePlatformLog(Constants.PlatformJobStatus.WORKING.getKey(),oldPlatformJob,platformJob);
    }
    /**
     * å­˜å‚¨æ“ä½œæ—¥å¿—
     * @param objType
     * @param platformJobBefor
     * @param platformJobAfter
     */
    public void savePlatformLog(Integer objType,PlatformJob platformJobBefor,PlatformJob platformJobAfter){
        PlatformLog platformLog = new PlatformLog();
        platformLog.setIsdeleted(Constants.ZERO);
        platformLog.setCreateDate(new Date());
        platformLog.setJobId(platformJobAfter.getId());
        platformLog.setObjType(objType);
        platformLog.setBeforeContent(JSONObject.toJSONString(platformJobBefor));
        platformLog.setAfterContent(JSONObject.toJSONString(platformJobAfter));
        platformLog.setObjId(platformJobAfter.getId().toString());
        //查询最后一次开始作业的日志
        PlatformLog lastBeginPlatform = platformLogMapper.selectOne(new QueryWrapper<PlatformLog>().lambda()
                .eq(PlatformLog::getIsdeleted,Constants.ZERO)
                .eq(PlatformLog::getObjType,Constants.PlatformJobStatus.WORKING.getKey())
                .eq(PlatformLog::getJobId,platformLog.getJobId())
                .orderByDesc(PlatformLog::getCreateDate)
                .last(" limit 1 ")
        );
        if(Objects.isNull(lastBeginPlatform)){
            return;
        }
        if(Constants.equalsInteger(objType,Constants.PlatformJobStatus.EXCEPTION.getKey())
            || Constants.equalsInteger(objType,Constants.PlatformJobStatus.TRANSFERING.getKey())){
            //异常挂起 ä¸Žè½¬ç§»ä¸­ è®°å½•本次 ä½œä¸šæ—¶é—´
            platformLog.setParam1(DateUtil.getDate(lastBeginPlatform.getCreateDate(),"yyyy-MM-dd HH:mm:ss"));
            platformLog.setParam2(DateUtil.getDate(platformLog.getCreateDate(),"yyyy-MM-dd HH:mm:ss"));
            String v = Long.toString(platformJobAfter.getDoneDate().getTime() - platformJobBefor.getStartDate().getTime() / 1000) ;
            platformLog.setParam3(v);
        }else  if(Constants.equalsInteger(objType,Constants.PlatformJobStatus.DONE.getKey())){
            //查询最后一次日志是否为异常挂起,异常挂起后可进行转移 å¦‚果进行转移那么业务就需要重新进行开始就不需要特殊处理  ï¼Œå¦‚果不是异常挂起进行数据结束 åˆ™ç›´æŽ¥æŸ¥è¯¢æœ€åŽä¸€æ¬¡å¼€å§‹çš„æ—¶é—´
            PlatformLog lastPlatformLog = platformLogMapper.selectOne(new QueryWrapper<PlatformLog>().lambda()
                    .eq(PlatformLog::getIsdeleted,Constants.ZERO)
                    .eq(PlatformLog::getJobId,platformLog.getJobId())
                    .orderByDesc(PlatformLog::getCreateDate)
                    .last(" limit 1 ")
            );
            if(Objects.nonNull(lastPlatformLog) && Constants.equalsInteger(lastPlatformLog.getObjType(),Constants.PlatformJobStatus.EXCEPTION.getKey())){
                platformLog.setParam3("0");
            }else{
                //非异常挂起 åˆ™ç›´æŽ¥è¿‡åŽ»æœ€åŽä¸€æ¬¡å¼€å§‹ä½œä¸šçš„æ—¥å¿—çš„å¼€å§‹æ—¶é—´
                platformLog.setParam1(DateUtil.getDate(lastBeginPlatform.getCreateDate(),"yyyy-MM-dd HH:mm:ss"));
                platformLog.setParam2(DateUtil.getDate(platformLog.getCreateDate(),"yyyy-MM-dd HH:mm:ss"));
                String v = Long.toString(platformJobAfter.getDoneDate().getTime() - platformJobBefor.getStartDate().getTime() / 1000) ;
                platformLog.setParam3(v);
            }
        }else{
            platformLog.setParam3("0");
        }
        platformLogMapper.insert(platformLog);
    }
}