k94314517
2024-09-30 2e151e042c8dea956c267976db9c1b21f0bb487b
代码初始化
已修改1个文件
70 ■■■■ 文件已修改
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -4,6 +4,7 @@
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.haikang.model.HKConstants;
import com.doumee.core.haikang.model.param.BaseResponse;
import com.doumee.core.haikang.model.param.request.ParkReservationAddRequest;
import com.doumee.core.haikang.model.param.request.ParkReservationDelRequest;
@@ -1519,42 +1520,34 @@
                .eq(Platform::getStatus,Constants.ZERO)
        );
        for (Platform platform:platformList) {
            PlatformDataListResponse platformDataListResponse  = new PlatformDataListResponse();
            PlatformDataListResponse platformDataListResponse = new PlatformDataListResponse();
            platformDataListResponse.setId(platform.getId());
            platformDataListResponse.setHkId(platform.getHkId());
            platformDataListResponse.setName(platform.getName());
            platformDataListResponse.setWorkStatus(Constants.ZERO);
            //查询当前作业车辆
//            PlatformJob platformJob = platformJobMapper.selectOne(new QueryWrapper<PlatformJob>()
//                    .select(" * , ( select pl.CREATE_DATE from platform_log pl where platform_job.id = pl.obj_id and pl.OBJ_TYPE = 5 order by pl.CREATE_DATE desc  limit 1  ) as newStartDate ," +
//                            " case when platform_job.total_num is null  then ( select sum(pwd.IO_QTY) from platform_wms_detail pwd where pwd.JOB_ID = platform_job.id  ) else platform_job.total_num end workNum ")
//                    .eq("isdeleted",Constants.ZERO)
//                    .eq("status",Constants.PlatformJobStatus.WORKING.getKey())
//                    .orderByDesc("START_DATE")
//                    .last(" limit 1")
//            );
            PlatformJob platformJob = platformJobJoinMapper.selectJoinOne(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>()
            PlatformJob platformJob = platformJobJoinMapper.selectJoinOne(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>()
                    .selectAll(PlatformJob.class)
                    .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate)
                    .selectAs(Platform::getName,PlatformJob::getPlatformName)
                    .selectAs(Platform::getWorkRate, PlatformJob::getWorkRate)
                    .selectAs(Platform::getName, PlatformJob::getPlatformName)
                    .select(" case when t.total_num is null  then ( select sum(pwd.IO_QTY) from platform_wms_detail pwd where pwd.JOB_ID = t.id  ) else t.total_num end workNum ")
                    .select(" ( select pl.CREATE_DATE from platform_log pl where t.id = pl.obj_id and pl.OBJ_TYPE = 5 order by pl.CREATE_DATE desc  limit 1  ) as newStartDate  ")
                    .select(" ( select pl.CREATE_DATE from platform_log pl where t.id = pl.obj_id and pl.OBJ_TYPE = 4 order by pl.CREATE_DATE desc  limit 1  ) as newCallDate  ")
                    .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
                    .leftJoin(Platform.class, Platform::getId, PlatformJob::getPlatformId)
                    .eq(PlatformJob::getStatus, Constants.PlatformJobStatus.WORKING.getKey())
                            .eq(PlatformJob::getPlatformId,platform.getId())
                    .eq(PlatformJob::getPlatformId, platform.getId())
                    .orderByDesc(PlatformJob::getStatus)
                    .orderByDesc(PlatformJob::getStartDate)
                    .last(" limit 1")
            );
            if(Objects.nonNull(platformJob)){
            if (Objects.nonNull(platformJob)) {
                platformDataListResponse.setCarCode(platformJob.getCarCodeFront());
                platformDataListResponse.setWorkType(
                        Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.zycxh)
                                ||Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.wxcxh)
                        ||Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.sgscxh)?Constants.ZERO:Constants.ONE
                        Constants.equalsInteger(platformJob.getType(), Constants.platformJobType.zycxh)
                                || Constants.equalsInteger(platformJob.getType(), Constants.platformJobType.wxcxh)
                                || Constants.equalsInteger(platformJob.getType(), Constants.platformJobType.sgscxh) ? Constants.ZERO : Constants.ONE
                );
                platformDataListResponse.setWorkStatus(Constants.ONE);
                //查询作业时长
@@ -1562,51 +1555,16 @@
                        this.getWorkTime(platformJob)
                );
                //计算已作业时长 根据月台工作效率 计算任务量需要时间
                if(Objects.isNull(platformJob.getWorkNum()) || Objects.isNull(platformJob.getWorkRate())){
                if (Objects.isNull(platformJob.getWorkNum()) || Objects.isNull(platformJob.getWorkRate())) {
                    platformDataListResponse.setFinishTime(null);
                }else{
                } else {
                    Integer workMinute = platformJob.getWorkNum().multiply(new BigDecimal(60)).divide(platformJob.getWorkRate()).intValue();
                    Date overDate = DateUtil.getXMinuteAfterDate(platformJob.getNewStartDate(),workMinute);
                    Date overDate = DateUtil.getXMinuteAfterDate(platformJob.getNewStartDate(), workMinute);
                    platformDataListResponse.setFinishTime(overDate);
                }
        try {
            List<Platform> platformList = platformJoinMapper.selectList(
                    new MPJLambdaWrapper<Platform>().eq(Platform::getIsdeleted,Constants.ZERO)
                            .eq(Platform::getStatus,Constants.ZERO)
            );
            for (Platform platform:platformList) {
                PlatformDataListResponse platformDataListResponse  = new PlatformDataListResponse();
                platformDataListResponse.setId(platform.getId());
                platformDataListResponse.setHkId(platform.getHkId());
                platformDataListResponse.setName(platform.getName());
                platformDataListResponse.setWorkStatus(Constants.ZERO);
                //查询当前作业车辆
                PlatformJob platformJob = platformJobMapper.selectOne(new QueryWrapper<PlatformJob>().lambda()
                        .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                        .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey())
                        .orderByDesc(PlatformJob::getWorkTime)
                        .last(" limit 1")
                );
                if(Objects.nonNull(platformJob)){
                    platformDataListResponse.setCarCode(platformJob.getCarCodeFront());
                    platformDataListResponse.setWorkType(
                            Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.zycxh)
                                    ||Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.wxcxh)
                                    ||Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.sgscxh)?Constants.ZERO:Constants.ONE
                    );
                    platformDataListResponse.setWorkStatus(Constants.ONE);
                    //查询作业时长
                    platformDataListResponse.setWorkTime(
                            this.getWorkTime(platformJob)
                    );
                }
            }
            platformDataListResponseList.add(platformDataListResponse);
        }catch (Exception e){
            System.out.println("===============================报错啦:\n");
            e.printStackTrace();
        }
        return platformDataListResponseList;
    }