liukangdong
2025-02-27 98250a7cff913563152ae8b313c7f45cc27545ba
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java
@@ -373,8 +373,16 @@
    private void dealCarPlatformAndDriverInfo(PlatformJob job,int type) {
        //查询车辆是否自有车,以及jobNum表示但求作业数量(非已离园的作业数)
        Cars car = carsMapper.selectOne(new QueryWrapper<Cars>()
                .select("*,(select count(1) from platform_job b where b.plate_num='"+job.getCarCodeFront()+"' and b.status in("+
                        Constants.PlatformJobStatus.LEAVED.getKey()+")) as jobNum")
                .select("*,(select count(1) from platform_job b where b.plate_num='"+job.getCarCodeFront()+"' " +
                        "and b.status in("+
                        Constants.PlatformJobStatus.WART_SIGN_IN.getKey()+","+
                        Constants.PlatformJobStatus.WART_SIGN_IN.getKey()+","+
                        Constants.PlatformJobStatus.WAIT_CALL.getKey()+","+
                        Constants.PlatformJobStatus.IN_WAIT.getKey()+","+
                        Constants.PlatformJobStatus.CALLED.getKey()+","+
                        Constants.PlatformJobStatus.TRANSFERING.getKey()+","+
                        Constants.PlatformJobStatus.EXCEPTION.getKey()+","+
                        Constants.PlatformJobStatus.WORKING.getKey()+")) as jobNum")
                .lambda()
                .eq(Cars::getIsdeleted,Constants.ZERO)
                .eq(Cars::getType,Constants.ONE)
@@ -383,8 +391,10 @@
            //如果是自有物流车
            job.setType(type==0?Constants.platformJobType.zycxh:Constants.platformJobType.zyczh);//自有车卸货/装货
            job.setCarCodeBack(job.getCarCodeFront());//自有车默认前后车牌一样
            if(retentionMapper.selectCount(new QueryWrapper<Retention>().lambda().eq(Retention::getType,Constants.THREE)
                    .eq(Retention::getCarNo,car.getCode()))>Constants.ZERO && car.getJobNum() == 0){
            if(job.getType() ==Constants.platformJobType.zyczh
                    && retentionMapper.selectCount(new QueryWrapper<Retention>().lambda().eq(Retention::getType,Constants.THREE)
                    .eq(Retention::getCarNo,car.getCode()))>Constants.ZERO
                    && car.getJobNum() == 0){
                //如果车辆在园
                job.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey());//在园无作业状态,则自动【已签到】处理
                job.setArriveDate(new Date());