diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/job/service/impl/MydoJobServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/in/job/service/impl/MydoJobServiceImpl.java index a4c7e2e..2a57756 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/job/service/impl/MydoJobServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/job/service/impl/MydoJobServiceImpl.java @@ -428,6 +428,7 @@ public class MydoJobServiceImpl implements IMydoJobService stock.setStockStatus(BasStockCode.STOCK_STATUS_AVAILABLE); stock.setJobId(detail.getJobId()); stock.setJobDetailId(detail.getJobDetailId()); + stock.setBackDate(DateUtil.date()); basStockService.updateBasStock(stock); } @@ -537,6 +538,7 @@ public class MydoJobServiceImpl implements IMydoJobService List stocks = basStockService.selectBasStockListByTrayCode(mydoJob.getTrayCode()); for (BasStock stock : stocks){ stock.setCargoSpaceId(mydoJob.getCargoSpaceId()); + stock.setBackDate(DateUtil.date()); basStockService.updateBasStock(stock); } @@ -578,24 +580,10 @@ public class MydoJobServiceImpl implements IMydoJobService // return AjaxResult.error("查不到该作业对应的子单明细,请检查子单状态"); // } -//--------------------处理库存信息-------------------- -// basStockService.deleteBasStockByTrayCode(mydoJob.getTrayCode()); -// basStockInfoService.deleteBasStockInfoByTrayCode(mydoJob.getTrayCode()); - basStockService.deleteBasStockByCargoSpaceId(mydoJob.getCargoSpaceId()); basStockInfoService.deleteBasStockInfoByCargoSpaceId(mydoJob.getCargoSpaceId()); log.info("【账务处理-手动出库】移除托盘和版辊库存,作业号:{},货位编号:{},托盘号:{}", jobId, mydoJob.getCargoSpaceId(), mydoJob.getTrayCode()); - //移除指定辊号的库存信息 -// for (MydoJobDetail detail : details){ -// -// //移除指定辊号的库存明细 -// basStockService.deleteBasStockByRollerNumber(detail.getRollerNumber()); -// //如果条码没有库存明细,则移除主表信息 -// if (basStockService.selectBasStockListByTrayCode(mydoJob.getTrayCode()).size() == 0){ -// basStockInfoService.deleteBasStockInfoByTrayCode(mydoJob.getTrayCode()); -// } -// -// } + //--------------------更新货位状态-------------------- BasCargoSpace cargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(mydoJob.getCargoSpaceId()); @@ -635,6 +623,46 @@ public class MydoJobServiceImpl implements IMydoJobService } + //>>>>>>>>>>>>>>>>>>>>> 盘点回流入库 <<<<<<<<<<<<<<<<<<<<<<<< + //>>>>>>>>>>>>>>>>>>>>> 盘点回流入库 <<<<<<<<<<<<<<<<<<<<<<<< + //>>>>>>>>>>>>>>>>>>>>> 盘点回流入库 <<<<<<<<<<<<<<<<<<<<<<<< + if (type == TaskType.TASKTYPE_INVENTORY_BACK){ + + List stocks = basStockService.selectBasStockListByTrayCode(mydoJob.getTrayCode()); + if (!stocks.isEmpty()){ + int num = 1; + for (BasStock stock : stocks){ + stock.setStockStatus(BasStockCode.STOCK_STATUS_AVAILABLE); + stock.setJobId(mydoJob.getJobId()); + stock.setJobDetailId(mydoJob.getJobId() + num++); + stock.setBackDate(DateUtil.date()); + basStockService.updateBasStock(stock); + log.info("【账务处理-盘点回流】更新版辊库存状态<正常>,辊号:{},作业号:{},货位:{},托盘号:{}", stock.getProductId(), jobId, mydoJob.getCargoSpaceId(), mydoJob.getTrayCode()); + } + } + +//--------------------更新货位状态-------------------- + BasCargoSpace cargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(mydoJob.getCargoSpaceId()); + basCargoSpaceService.updateBasCargoSpaceStatus(cargoSpace.getCargoSpaceId(), mydoJob.getTrayCode(), CargoSpaceCode.CARGOSPACE_STATUS_OCCUPIED); + log.info("【账务处理-盘点回流】更新货位状态<占用>,作业号:{},货位编号:{},托盘号:{}", jobId, cargoSpace.getCargoSpaceId(), mydoJob.getTrayCode()); + +//--------------------处理任务表和子任务表-------------------- + //1.更新任务主表状态并移除作业 + mydoJob.setStatus(TaskStatusEnum.AUTO_FINISHED.getCode()); + mydoJob.setFinishTime(DateUtil.now()); + updateMydoJob(mydoJob); + deleteMydoJobByJobId(jobId); + + //2.并移除所有子作业 +// mydoJobDetailService.insertMydoJobDetailsForJobFinish(jobId); +// mydoJobDetailService.deleteMydoJobDetailsByJobId(jobId); + + log.info("【账务处理-盘点回流】入库完成,等待确认,作业号:{},托盘号:{}", jobId, mydoJob.getTrayCode()); + + return AjaxResult.success(); + } + + return AjaxResult.error(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/impl/PdaServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/impl/PdaServiceImpl.java index 42abbf8..8e52274 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/impl/PdaServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/impl/PdaServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.pda.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.StrUtil; @@ -46,6 +47,7 @@ import com.ruoyi.pda.service.IPdaService; import io.swagger.v3.oas.annotations.parameters.RequestBody; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; import java.math.BigDecimal; @@ -1157,12 +1159,16 @@ public class PdaServiceImpl implements IPdaService { String jobId = basJobIdService.getId(JobIdType.JOB_MANUAL_LIST_INVENTORY_STOCKIN); String taskNo = basTaskNoService.getTaskNo(TaskIdType.TASK_STOCKIN_INVENTORY); - mydoJob.setJobId(jobId); - mydoJob.setTaskNo(taskNo); - mydoJob.setStatus(TaskStatusEnum.READY.getCode()); - mydoJob.setExecutionPhase("0"); - mydoJob.setInOrOut(TaskType.TASKTYPE_INVENTORY_BACK); - mydoJobService.updateMydoJob(mydoJob); + //移除盘点出库作业 + mydoJobService.deleteMydoJobByJobId(mydoJob.getJobId()); + + MydoJob mydojobBack = BeanUtil.copyProperties(mydoJob, MydoJob.class); + mydojobBack.setJobId(jobId); + mydojobBack.setTaskNo(taskNo); + mydojobBack.setStatus(TaskStatusEnum.READY.getCode()); + mydojobBack.setExecutionPhase("0"); + mydojobBack.setInOrOut(TaskType.TASKTYPE_INVENTORY_BACK); + mydoJobService.insertMydoJob(mydojobBack); log.warn("【盘点出库确认】确认完成,生成盘点回库任务,等待执行中,作业号:{},托盘号:{}", jobId, trayCode); basCargoSpaceService.updateBasCargoSpaceStatus(mydoJob.getCargoSpaceId(), mydoJob.getTrayCode(),CargoSpaceCode.CARGOSPACE_STATUS_PRE_STOCKIN);