jiangping
2024-08-26 e23a1db0b60437f17d09d65c65f8fd0c8a5d88c7
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java
@@ -6,14 +6,8 @@
import com.doumee.core.wms.model.request.*;
import com.doumee.core.wms.model.response.WmsBaseDataResponse;
import com.doumee.core.wms.model.response.WmsBaseResponse;
import com.doumee.dao.business.CarsMapper;
import com.doumee.dao.business.PlatformJobMapper;
import com.doumee.dao.business.PlatformWmsDetailMapper;
import com.doumee.dao.business.PlatformWmsJobMapper;
import com.doumee.dao.business.model.Cars;
import com.doumee.dao.business.model.PlatformJob;
import com.doumee.dao.business.model.PlatformWmsDetail;
import com.doumee.dao.business.model.PlatformWmsJob;
import com.doumee.dao.business.*;
import com.doumee.dao.business.model.*;
import com.doumee.service.business.WmsService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -33,6 +27,8 @@
public class WmsServiceImpl implements WmsService {
    @Autowired
    private PlatformWmsJobMapper platformWmsJobMapper;
    @Autowired
    private PlatformGroupMapper platformGroupMapper;
    @Autowired
    private CarsMapper carsMapper;
    @Autowired
@@ -68,6 +64,7 @@
                    .last("limit 1" ));
            if(job == null){
                PlatformJob model =dealJobBizInbound(param);
                job = new PlatformWmsJob();
                job.setCreateDate(new Date());
@@ -92,6 +89,7 @@
                    entity.setIocode(d.getIoCode());
                    entity.setJobId(job.getId());
                    entity.setIoQty(d.getIoQty());
                    entity.setStatus(Constants.ZERO);
                    entity.setRate(d.getRate());
                    entity.setMaterialName(d.getMaterialName());
                    entity.setInRepertotyCode(d.getInRepertotyCode());
@@ -130,8 +128,10 @@
        job.setIsdeleted(Constants.ZERO);
        job.setType(Constants.platformJobType.wxcxh);//默认是外协车卸货
        job.setStatus(Constants.PlatformJobStatus.WAIT_CONFIRM.getKey());//默认待确认状态
        //查询车辆是否自有车,以及jobNum表示但求作业数量(非已离园的作业数)
        Cars car = carsMapper.selectOne(new QueryWrapper<Cars>()
                .select("*,(select count(1) from platform_job b where b.plate_num='"+param.getPlateNumber()+"' and b.status in()) as jobNum")
                .select("*,(select count(1) from platform_job b where b.plate_num='"+param.getPlateNumber()+"' and b.status in("+
                        Constants.PlatformJobStatus.LEAVED+")) as jobNum")
                .lambda()
                .eq(Cars::getIsdeleted,Constants.ZERO)
                .eq(Cars::getType,Constants.ONE)
@@ -144,6 +144,11 @@
                job.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey());//在园无作业状态,则自动【已签到】处理
            }
        }
        PlatformGroup group = platformGroupMapper.selectOne(new QueryWrapper<PlatformGroup>().lambda()
                .eq(PlatformGroup::getIsdeleted,Constants.ZERO)
                .eq(PlatformGroup::getType,Constants.ONE)
                .last("limit 1") );//查询卸货月台组编码
        job.setPlatformGroupId(group!=null?group.getId():null);
        platformJobMapper.insert(job);
        return job;
    }
@@ -153,8 +158,10 @@
        job.setIsdeleted(Constants.ZERO);
        job.setType(Constants.platformJobType.wxczh);//默认是外协车装好
        job.setStatus(Constants.PlatformJobStatus.WAIT_CONFIRM.getKey());//默认待确认状态
        //查询车辆是否自有车,以及jobNum表示但求作业数量(非已离园的作业数)
        Cars car = carsMapper.selectOne(new QueryWrapper<Cars>()
                .select("*,(select count(1) from platform_job b where b.plate_num='"+param.getPlateNumber()+"' and b.status in()) as jobNum")
                .select("*,(select count(1) from platform_job b where b.plate_num='"+param.getPlateNumber()+"' and b.status in("+
                        Constants.PlatformJobStatus.LEAVED+")) as jobNum")
                .lambda()
                .eq(Cars::getIsdeleted,Constants.ZERO)
                .eq(Cars::getType,Constants.ONE)
@@ -167,6 +174,11 @@
                job.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey());//在园无作业状态,则自动【已签到】处理
            }
        }
        PlatformGroup group = platformGroupMapper.selectOne(new QueryWrapper<PlatformGroup>().lambda()
                .eq(PlatformGroup::getIsdeleted,Constants.ZERO)
                .eq(PlatformGroup::getType,Constants.ZERO)
                .last("limit 1") );//查询装货月台组编码
        job.setPlatformGroupId(group!=null?group.getId():null);
        platformJobMapper.insert(job);
        return job;
    }
@@ -223,6 +235,7 @@
                    entity.setIocode(d.getIoCode());
                    entity.setJobId(job.getId());
                    entity.setIoQty(d.getIoQty());
                    entity.setStatus(Constants.ZERO);
                    entity.setRate(d.getRate());
                    entity.setMaterialName(d.getMaterialName());
                    iocodeList.add(d.getIoCode());
@@ -269,11 +282,18 @@
     */
    @Override
    public WmsBaseResponse cancelOutbound(List<WmsActionNoticeRequest> list) {
        //TODO-------------------处理出库取消通知业务--------------------
        if(list ==null || list.size() ==0){
            return returnFailReuslt("请求参数不正确,参数不能为空");
        }
        List<String> iocodeList = new ArrayList<>();
        for(WmsActionNoticeRequest param :list){
            iocodeList.add(param.getIoCode());
        }
        //取消全部数据状态为 【已取消】
         platformWmsDetailMapper.update(null,new UpdateWrapper<PlatformWmsDetail>().lambda()
                .set(PlatformWmsDetail::getStatus,Constants.TWO)
                .in(PlatformWmsDetail::getIocode,iocodeList)
                .eq(PlatformWmsDetail::getIsdeleted, Constants.ZERO));
        return returnSuccessReuslt(null);
    }
    /**
@@ -283,10 +303,18 @@
     */
    @Override
    public WmsBaseResponse doneTask(List<WmsActionNoticeRequest> list) {
        //TODO-------------------处理出入库作业完成通知业务--------------------
        if(list ==null || list.size() ==0){
            return returnFailReuslt("请求参数不正确,参数不能为空");
        }
        List<String> iocodeList = new ArrayList<>();
        for(WmsActionNoticeRequest param :list){
            iocodeList.add(param.getIoCode());
        }
        //取消全部数据状态为 【已完成】
        platformWmsDetailMapper.update(null,new UpdateWrapper<PlatformWmsDetail>().lambda()
                .set(PlatformWmsDetail::getStatus,Constants.ONE)
                .in(PlatformWmsDetail::getIocode,iocodeList)
                .eq(PlatformWmsDetail::getIsdeleted, Constants.ZERO));
        return returnSuccessReuslt(null);
    }