后台信息国际化

This commit is contained in:
liuhanqing
2025-07-29 16:59:06 +08:00
parent 2e79e1a04e
commit 59aa1b8b3e
12 changed files with 207 additions and 90 deletions

View File

@@ -23,6 +23,7 @@ import com.ruoyi.bas.warehouse.service.IBasWarehouseService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.MessageUtils;
import com.ruoyi.job.mydojob.domain.MydoJob;
import com.ruoyi.job.mydojob.mapper.MydoJobMapper;
import com.ruoyi.job.mydojob.service.IMydoJobService;
@@ -35,6 +36,8 @@ import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail;
import com.ruoyi.out.outStockoutDetail.service.IOutStockoutDetailService;
import com.ruoyi.out.tagTask.domain.TagTask;
import com.ruoyi.out.tagTask.service.ITagTaskService;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.bridge.Message;
import org.aspectj.weaver.loadtime.Aj;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -49,6 +52,7 @@ import java.util.Map;
* 作业统计 Service 实现
*/
@Service
@Slf4j
public class ToWmsServiceImpl implements IToWmsService {
@Autowired
private IMydoJobService mydoJobService;
@@ -73,12 +77,13 @@ public class ToWmsServiceImpl implements IToWmsService {
@Override
public AjaxResult requestEnter(MydoJob param) {
MydoJob mydoJobParam = new MydoJob();
mydoJobParam.setTrayCode(param.getTrayCode());
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
if(mydoJobs.isEmpty()){
return AjaxResult.error("此托盘没有作业");
return AjaxResult.warn(MessageUtils.message("warn.message"));
}
MydoJob mydoJob = mydoJobs.get(0);
if ("1".equals(mydoJob.getExecutionPhase())){
@@ -96,34 +101,34 @@ public class ToWmsServiceImpl implements IToWmsService {
switch (wmsJobRequest.getWmsType()){
case "1":
if (StrUtil.isEmpty(wmsJobRequest.getTrayCode())){
return AjaxResult.error("托盘码不能为空");
return AjaxResult.error(MessageUtils.message("error.message1"));
}
if (StrUtil.isEmpty(wmsJobRequest.getTaskNo())){
return AjaxResult.error("作业号不能为空");
return AjaxResult.error(MessageUtils.message("error.message2"));
}
//入库
mydoJobParam.setTaskNo(wmsJobRequest.getTaskNo());
mydoJobParam.setTrayCode(wmsJobRequest.getTrayCode());
List<MydoJob> inMydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
if (inMydoJobs.isEmpty()){
return AjaxResult.error("没有该作业 taskNo: {}", wmsJobRequest.getTaskNo());
return AjaxResult.error(MessageUtils.message("warn.message"));
}
MydoJob inMydoJob = inMydoJobs.get(0);
mydoJobService.manualCompleted(inMydoJob);
break;
case "2":
if (StrUtil.isEmpty(wmsJobRequest.getPickSsj())){
return AjaxResult.error("拣选工位不能为空");
return AjaxResult.error(MessageUtils.message("error.message3"));
}
if (StrUtil.isEmpty(wmsJobRequest.getTaskNo())){
return AjaxResult.error("作业号不能为空");
return AjaxResult.error(MessageUtils.message("error.message2"));
}
//出库
mydoJobParam.setTaskNo(wmsJobRequest.getTaskNo());
//mydoJobParam.setTrayCode(wmsJobRequest.getTrayCode());
List<MydoJob> outMydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
if (outMydoJobs.isEmpty()){
return AjaxResult.error("没有该作业 taskNo: {}", wmsJobRequest.getTaskNo());
return AjaxResult.error(MessageUtils.message("warn.message"));
}
MydoJob outJob = outMydoJobs.get(0);
//查询拣选工位绑定的电子标签
@@ -132,7 +137,7 @@ public class ToWmsServiceImpl implements IToWmsService {
tagParam.setSpare3("1");
List<BasTag> tags = iBasTagService.selectBasTagList(tagParam);
if (tags.isEmpty()){
return AjaxResult.error("没有该拣选工位绑定的电子标签");
return AjaxResult.error(MessageUtils.message("error.message4"));
}
BasTag basTag = tags.get(0);
basTag.setTrayCode(outJob.getTrayCode());
@@ -155,13 +160,13 @@ public class ToWmsServiceImpl implements IToWmsService {
break;
case "3":
if (StrUtil.isEmpty(wmsJobRequest.getContainerCode())){
return AjaxResult.error("容器码不能为空");
return AjaxResult.error(MessageUtils.message("error.message5"));
}
if (StrUtil.isEmpty(wmsJobRequest.getPositionCode1())){
return AjaxResult.error("起始点位不能为空");
return AjaxResult.error(MessageUtils.message("error.message6"));
}
if (StrUtil.isEmpty(wmsJobRequest.getPositionCode2())){
return AjaxResult.error("目标点位不能为空");
return AjaxResult.error(MessageUtils.message("error.message7"));
}
//agv搬运作业
//绑定料架和点位
@@ -170,7 +175,8 @@ public class ToWmsServiceImpl implements IToWmsService {
basContainerParam.setPortName(wmsJobRequest.getPositionCode1());
List<BasContainer> basContainers = basContainerService.selectBasContainerList(basContainerParam);
if (basContainers.isEmpty()){
return AjaxResult.error("没有该料架 {}", wmsJobRequest.getContainerCode());
log.error("没有该料架 {}", wmsJobRequest.getContainerCode());
return AjaxResult.error();
}
//修改绑定点位
BasContainer basContainer = basContainers.get(0);
@@ -178,7 +184,8 @@ public class ToWmsServiceImpl implements IToWmsService {
basContainerService.updateBasContainer(basContainer);
break;
default:
return AjaxResult.error("作业类型错误");
log.error("作业类型错误");
return AjaxResult.error();
}
return AjaxResult.success();
}
@@ -190,12 +197,13 @@ public class ToWmsServiceImpl implements IToWmsService {
String warehouseId = mydoJob.getWarehouseId();
BasCargoSpace basCargoSpace = basCargoSpaceService.selectEmptyCargoSpaceByWarehouseId(warehouseId);
if (basCargoSpace == null){
return AjaxResult.error("没有空货位");
log.error("没有空货位");
return AjaxResult.error();
}else {
mydoJob.setCargoSpaceId(basCargoSpace.getCargoSpaceId());
mydoJob.setFaultFlag("1");
mydoJobService.updateMydoJob(mydoJob);
return AjaxResult.success("重新分配货位成功", mydoJob);
return AjaxResult.success(mydoJob);
}
}
@@ -217,7 +225,7 @@ public class ToWmsServiceImpl implements IToWmsService {
public AjaxResult getJob(MydoJob mydoJob) {
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobListApi(mydoJob);
if (mydoJobs.isEmpty()){
return AjaxResult.error("没有该作业");
return AjaxResult.error();
}else {
return AjaxResult.success(mydoJobs);
}
@@ -229,14 +237,14 @@ public class ToWmsServiceImpl implements IToWmsService {
mydoJobParam.setTaskNo(mydoJob.getTaskNo());
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
if (mydoJobs.isEmpty()){
return AjaxResult.error("没有该作业");
return AjaxResult.error();
}else {
for (MydoJob mydoJob1 : mydoJobs) {
mydoJob1.setStatus("3");
mydoJob1.setStartTime(DateUtil.formatDateTime(DateUtil.date()));
mydoJobService.updateMydoJob(mydoJob1);
}
return AjaxResult.success("开始作业成功");
return AjaxResult.success();
}
}
}

View File

@@ -11,6 +11,7 @@ import cn.hutool.core.util.StrUtil;
import com.ruoyi.bas.basJobId.service.IBasJobIdService;
import com.ruoyi.bas.warehouse.domain.BasWarehouse;
import com.ruoyi.bas.warehouse.service.IBasWarehouseService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.BeanUtils;
@@ -44,6 +45,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
*/
@RestController
@RequestMapping("/check/difference")
@Slf4j
public class CheckDifferenceRecordController extends BaseController {
@Autowired
private ICheckDifferenceRecordService checkDifferenceRecordService;
@@ -140,7 +142,8 @@ public class CheckDifferenceRecordController extends BaseController {
if ("1".equals(recordType)) { // 更新数据
// 根据stockId、trayCode、oldQuantity查找库存记录
if (StrUtil.isEmpty(record.getStockId())) {
return AjaxResult.error("没有找到该库存ID:" + record.getStockId());
log.error("没有找到该库存ID:{}" , record.getStockId());
return AjaxResult.error();
}
BasStock queryStock = new BasStock();
@@ -148,7 +151,8 @@ public class CheckDifferenceRecordController extends BaseController {
List<BasStock> stocks = basStockService.selectBasStockList(queryStock);
if (stocks.isEmpty()) {
return AjaxResult.error("没有在库存中找到该条记录:库存ID=" + record.getStockId() + ", 托盘号=" + record.getTrayCode());
log.error("没有在库存中找到该条记录:库存ID {}, 托盘号 {}", record.getStockId() , record.getTrayCode());
return AjaxResult.error();
}
// 更新库存数量和状态
@@ -159,7 +163,8 @@ public class CheckDifferenceRecordController extends BaseController {
} else if ("2".equals(recordType)) { // 新增数据
// 检查物料ID是否存在
if (record.getProductId() == null || record.getProductId().trim().isEmpty()) {
return AjaxResult.error("物料ID不能为空");
log.error("物料ID不能为空");
return AjaxResult.error();
}
// 创建新的库存记录
@@ -208,7 +213,8 @@ public class CheckDifferenceRecordController extends BaseController {
List<BasStock> stocks = basStockService.selectBasStockList(queryStock);
if (stocks.isEmpty()) {
return AjaxResult.error("没有在库存中找到该条记录:库存ID=" + record.getStockId() + ", 托盘号=" + record.getTrayCode());
log.error("要删除的库存不存在");
return AjaxResult.error();
}

View File

@@ -11,6 +11,7 @@ import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.stock.stock.domain.BasStock;
import com.ruoyi.stock.stock.service.IBasStockService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.check.difference.mapper.CheckDifferenceRecordMapper;
@@ -24,6 +25,7 @@ import com.ruoyi.check.difference.service.ICheckDifferenceRecordService;
* @date 2025-05-28
*/
@Service
@Slf4j
public class CheckDifferenceRecordServiceImpl implements ICheckDifferenceRecordService
{
@Autowired
@@ -73,7 +75,8 @@ public class CheckDifferenceRecordServiceImpl implements ICheckDifferenceRecordS
String stockId = checkDifferenceRecord.getStockId();
BasStock basStock = basStockService.selectBasStockByStockId(stockId);
if (!"1".equals(basStock.getProductStatus())){
return AjaxResult.warn("库存非正常状态");
log.warn("库存非正常状态{}",basStock.getStockId());
return AjaxResult.error();
}
if (basStock.getQuantity().equals(checkDifferenceRecord.getNewQuantity())){
return AjaxResult.success();
@@ -92,20 +95,23 @@ public class CheckDifferenceRecordServiceImpl implements ICheckDifferenceRecordS
queryStock.setWarehouseId(checkDifferenceRecord.getWarehouseId());
List<BasStock> stocks = basStockService.selectBasStockList(queryStock);
if (!stocks.isEmpty()) {
return AjaxResult.error("该物料已存在");
log.warn("该物料已存在{}",checkDifferenceRecord.getProductId());
return AjaxResult.error();
}
BasCargoSpace queryCargoSpace = new BasCargoSpace();
queryCargoSpace.setWarehouseId(checkDifferenceRecord.getWarehouseId());
List<BasCargoSpace> cargoSpaces = basCargoSpaceService.selectBasCargoSpaceList(queryCargoSpace);
if (cargoSpaces.isEmpty()){
return AjaxResult.error("没有货位");
log.warn("没有货位");
return AjaxResult.error();
}
checkDifferenceRecord.setCargoSpaceId(cargoSpaces.get(0).getCargoSpaceId());
checkDifferenceRecord.setOldQuantity("0");
}else if (checkDifferenceRecord.getRecordType()==3){
BasStock basStock = basStockService.selectBasStockByStockId(checkDifferenceRecord.getStockId());
if (!"1".equals(basStock.getProductStatus())){
return AjaxResult.warn("库存非正常状态");
log.warn("库存非正常状态 productId:{} status:{}",basStock.getProductId(),basStock.getProductStatus());
return AjaxResult.error();
}
basStock.setProductStatus("2");
basStockService.updateBasStock(basStock);
@@ -120,7 +126,7 @@ public class CheckDifferenceRecordServiceImpl implements ICheckDifferenceRecordS
checkDifferenceRecord.setCheckGuid(IdUtil.fastSimpleUUID());
checkDifferenceRecord.setStatus("0");
checkDifferenceRecordMapper.insertCheckDifferenceRecord(checkDifferenceRecord);
return AjaxResult.success("操作成功");
return AjaxResult.success();
}
/**

View File

@@ -29,6 +29,7 @@ import com.ruoyi.out.outStockout.domain.OutStockoutVo;
import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail;
import com.ruoyi.stock.stock.domain.BasStock;
import com.ruoyi.stock.stock.service.IBasStockService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
@@ -44,6 +45,7 @@ import org.springframework.transaction.annotation.Transactional;
* @date 2025-05-29
*/
@Service
@Slf4j
public class CheckStockinServiceImpl implements ICheckStockinService
{
@Autowired
@@ -108,25 +110,29 @@ public class CheckStockinServiceImpl implements ICheckStockinService
if ("5".equals(checkStockin.getStatus())){
//作废
if (!"1".equals(old.getStatus())){
return AjaxResult.error("单据状态非未执行状态!");
log.error("单据状态非未执行状态!");
return AjaxResult.error();
}
checkStockinMapper.updateCheckStockin(checkStockin);
//插入历史单据
insertCheckStockinHistory(checkStockin);
}else if ("2".equals(checkStockin.getStatus())){
if (StrUtil.isEmpty(checkStockin.getSpare1())){
return AjaxResult.error("请选择出口!");
log.error("请选择出口!");
return AjaxResult.error();
}
//审核
if (!"1".equals(old.getStatus())){
return AjaxResult.error("单据状态非未执行状态!");
log.error("单据状态非未执行状态!");
return AjaxResult.error();
}
checkStockinMapper.updateCheckStockin(checkStockin);
}else if ("4".equals(checkStockin.getStatus())){
//确认
if (!"3".equals(old.getStatus())){
return AjaxResult.error("单据状态非正执行状态!");
log.error("单据状态非正执行状态!");
return AjaxResult.error();
}
checkStockinMapper.updateCheckStockin(checkStockin);
insertCheckStockinHistory(checkStockin);
@@ -224,13 +230,14 @@ public class CheckStockinServiceImpl implements ICheckStockinService
public AjaxResult autoAllocation(CheckStockin checkStockin) {
CheckStockin currentCheckStock = selectCheckStockinByStockGuid(checkStockin.getStockGuid());
if (ObjUtil.isNull(currentCheckStock)){
return AjaxResult.warn("单据不存在!");
log.warn("单据不存在! stockGudi:{}",checkStockin.getStockGuid());
return AjaxResult.error();
}
HashMap<String, String> map = new HashMap<>();
map.put("v_stock_check_id", currentCheckStock.getStockCheckId());
checkStockinMapper.autoAllot(map);
if ("10".equals(map.get("v_result"))){
return AjaxResult.success("自动分配成功");
return AjaxResult.success();
}else {
return AjaxResult.warn(map.get("v_resultmsg"));
}

View File

@@ -23,6 +23,7 @@ import com.ruoyi.check.difference.service.ICheckDifferenceRecordService;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.MessageUtils;
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
import com.ruoyi.in.stockindetail.service.IInStockinDetailService;
import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail;
@@ -35,6 +36,7 @@ import com.ruoyi.pda.domain.TrayCodeMakeSure;
import com.ruoyi.pda.service.PdaService;
import com.ruoyi.stock.stock.domain.BasStock;
import com.ruoyi.stock.stock.service.IBasStockService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.job.mydojob.mapper.MydoJobMapper;
@@ -50,6 +52,7 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport;
* @date 2025-05-23
*/
@Service
@Slf4j
public class MydoJobServiceImpl implements IMydoJobService {
@Autowired
private MydoJobMapper mydoJobMapper;
@@ -167,10 +170,10 @@ public class MydoJobServiceImpl implements IMydoJobService {
String jobId = mydoJob.getJobId();
MydoJob job = selectMydoJobByJobId(jobId);
if (job == null) {
return AjaxResult.warn("任务不存在");
return AjaxResult.warn(MessageUtils.message("warn.message"));
}
if (!"1".equals(job.getStatus())) {
return AjaxResult.warn("任务已开始");
return AjaxResult.warn(MessageUtils.message("warn.message1"));
}
if ("1".equals(job.getInOrOut()) || "4".equals(job.getInOrOut())) {
mydoJob.setStatus("5");
@@ -223,12 +226,12 @@ public class MydoJobServiceImpl implements IMydoJobService {
String jobId = mydoJob.getJobId();
MydoJob job = selectMydoJobByJobId(jobId);
if (job == null) {
return AjaxResult.warn("任务不存在");
return AjaxResult.warn(MessageUtils.message("warn.message"));
}
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(job.getWarehouseId());
if("2".equals(basWarehouse.getWarehouseType())) {
if ("1".equals(job.getStatus()) || "2".equals(job.getStatus())) {
return AjaxResult.warn("任务未开始");
return AjaxResult.warn(MessageUtils.message("warn.message1"));
}
}
if ("1".equals(job.getInOrOut()) || "4".equals(job.getInOrOut())) {
@@ -259,7 +262,7 @@ public class MydoJobServiceImpl implements IMydoJobService {
insertHistory(mydoJob.getJobId());
return AjaxResult.success();
} else {
return AjaxResult.warn("子任务不存在");
return AjaxResult.warn(MessageUtils.message("warn.message2"));
}
} else if ("2".equals(job.getInOrOut()) || "3".equals(job.getInOrOut())) {
//ctu物料入库 高架库入库
@@ -322,7 +325,7 @@ public class MydoJobServiceImpl implements IMydoJobService {
insertHistory(mydoJob.getJobId());
return AjaxResult.success();
} else {
return AjaxResult.warn("子任务不存在");
return AjaxResult.warn(MessageUtils.message("warn.message2"));
}
} else if ("5".equals(job.getInOrOut()) || "6".equals(job.getInOrOut())) {
//盘点 ctu入库 高架库入库
@@ -376,10 +379,10 @@ public class MydoJobServiceImpl implements IMydoJobService {
insertHistory(mydoJob.getJobId());
return AjaxResult.success();
} else {
return AjaxResult.warn("子任务不存在");
return AjaxResult.warn(MessageUtils.message("warn.message2"));
}
} else {
return AjaxResult.warn("暂不支持的任务类型");
return AjaxResult.warn(MessageUtils.message("warn.message3"));
}
}
@@ -415,7 +418,8 @@ public class MydoJobServiceImpl implements IMydoJobService {
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(job.getWarehouseId());
if("1".equals(basWarehouse.getWarehouseType()) && Integer.parseInt(job.getStatus())<3){
return AjaxResult.error("只能完成正执行的作业");
log.error("只能完成正执行的作业");
return AjaxResult.error();
}
TrayCodeMakeSure trayCodeMakeSure = new TrayCodeMakeSure();
trayCodeMakeSure.setTrayCode(job.getTrayCode());
@@ -431,7 +435,8 @@ public class MydoJobServiceImpl implements IMydoJobService {
for (String jobId : jobIds) {
MydoJob job = selectMydoJobByJobId(jobId);
if (job == null) {
return AjaxResult.error("任务不存在");
log.error("任务不存在");
return AjaxResult.error();
}
MydoJobDetail mydoJobDetail = new MydoJobDetail();
mydoJobDetail.setJobId(jobId);
@@ -469,7 +474,8 @@ public class MydoJobServiceImpl implements IMydoJobService {
} catch (Exception e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return AjaxResult.error("任务处理异常");
log.error("任务处理异常", e);
return AjaxResult.error();
}
}
@@ -490,7 +496,7 @@ public class MydoJobServiceImpl implements IMydoJobService {
Stringbuilder += stockId + msg + "<br/>";
}
return AjaxResult.success(Stringbuilder.toString());
return AjaxResult.success();
}
@Override

View File

@@ -9,6 +9,7 @@ import java.util.List;
import com.ruoyi.bas.basJobId.service.IBasJobIdService;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.MessageUtils;
import com.ruoyi.common.utils.uuid.UUID;
import com.ruoyi.out.outStockout.domain.OutStockoutVo;
import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail;
@@ -161,10 +162,10 @@ public class OutStockoutServiceImpl implements IOutStockoutService
OutStockout outStockout = outStockoutMapper.selectOutStockoutByStockoutId(stockoutId);
if (outStockout == null){
return AjaxResult.warn("未找到出库单");
return AjaxResult.warn(MessageUtils.message("warn.message4"));
}
if ("1".equals(outStockout.getStatus())){
return AjaxResult.warn("出库单状态未审核");
return AjaxResult.warn(MessageUtils.message("warn.message5"));
}
HashMap<String, String> map = new HashMap<>();
@@ -184,6 +185,6 @@ public class OutStockoutServiceImpl implements IOutStockoutService
if (stringBuilder.length()>0){
return AjaxResult.warn(stringBuilder.toString());
}
return AjaxResult.success("自动分配成功");
return AjaxResult.success();
}
}

View File

@@ -28,6 +28,7 @@ import com.ruoyi.pda.trayMsg.domain.TrayMsg;
import com.ruoyi.pda.trayMsg.service.ITrayMsgService;
import com.ruoyi.stock.stock.domain.BasStock;
import com.ruoyi.stock.stock.service.IBasStockService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import org.springframework.beans.factory.annotation.Autowired;
@@ -42,6 +43,7 @@ import static com.ruoyi.common.utils.PageUtils.startPage;
@Controller
@RequestMapping("/pda")
@Slf4j
public class PdaController extends BaseController {
@Autowired
@@ -76,10 +78,12 @@ public class PdaController extends BaseController {
public AjaxResult emptyTrayIn(@RequestBody TrayCodeMsg trayCodeMsg) {
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId());
if (basWarehouse == null) {
return AjaxResult.error("仓库不存在");
log.error("仓库不存在");
return AjaxResult.error();
}
if ("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())) {
return AjaxResult.error("请选择高架库货位");
log.error("请选择高架库货位");
return AjaxResult.error();
}
if ("2".equals(basWarehouse.getWarehouseType())) {
BasCargoSpace basCargoSpace = new BasCargoSpace();
@@ -87,7 +91,8 @@ public class PdaController extends BaseController {
basCargoSpace.setStatus("1");
List<BasCargoSpace> basCargoSpaces = basCargoSpaceService.selectBasCargoSpaceList(basCargoSpace);
if (basCargoSpaces.isEmpty()) {
return AjaxResult.error("此仓库没有空余货位");
log.error("此仓库没有空余货位");
return AjaxResult.error();
} else {
trayCodeMsg.setCargoSpaceId(basCargoSpaces.get(0).getCargoSpaceId());
}
@@ -124,7 +129,8 @@ public class PdaController extends BaseController {
if (!basStockList.isEmpty()) {
return AjaxResult.success(basStockList);
} else {
return AjaxResult.error("此区域没有空托盘库存");
log.error("此区域没有空托盘库存");
return AjaxResult.error();
}
}
@@ -141,20 +147,24 @@ public class PdaController extends BaseController {
public AjaxResult emptyTrayOut(@RequestBody TrayCodeMsg trayCodeMsg) {
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId());
if (basWarehouse == null) {
return AjaxResult.error("仓库不存在");
log.error("仓库不存在");
return AjaxResult.error();
}
if ("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())) {
return AjaxResult.error("请选择高架库货位");
log.error("请选择高架库货位");
return AjaxResult.error();
}
if ("2".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getExitId())) {
return AjaxResult.error("请选择出口");
log.error("请选择出口");
return AjaxResult.error();
}
if("2".equals(basWarehouse.getWarehouseType())){
BasStock basStock = new BasStock();
basStock.setWarehouseId(trayCodeMsg.getWarehouseId());
List<BasStock> basStockList = basStockService.selectKtpStock(basStock);
if(basStockList.size() == 0){
return AjaxResult.error("此区域没有空托盘库存或此用户没有该区域权限");
if(basStockList.isEmpty()){
log.warn("此区域没有空托盘库存或此用户没有该区域权限");
return AjaxResult.error();
}else{
trayCodeMsg.setCargoSpaceId(basStockList.get(0).getCargoSpaceId());
}
@@ -236,18 +246,21 @@ public class PdaController extends BaseController {
public AjaxResult addInJob(@RequestBody TrayCodeMsg trayCodeMsg) {
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId());
if (basWarehouse == null) {
return AjaxResult.error("仓库不存在");
log.error("仓库不存在");
return AjaxResult.error();
}
if ("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())) {
return AjaxResult.error("请选择高架库货位");
log.error("请选择高架库货位");
return AjaxResult.error();
}
if ("2".equals(basWarehouse.getWarehouseType())) {
BasCargoSpace basCargoSpace = new BasCargoSpace();
basCargoSpace.setWarehouseId(trayCodeMsg.getWarehouseId());
basCargoSpace.setStatus("1");
List<BasCargoSpace> basCargoSpaces = basCargoSpaceService.selectBasCargoSpaceList(basCargoSpace);
if (basCargoSpaces.size() == 0) {
return AjaxResult.error("此仓库没有空余货位");
if (basCargoSpaces.isEmpty()) {
log.error("此仓库没有空余货位");
return AjaxResult.error();
} else {
trayCodeMsg.setCargoSpaceId(basCargoSpaces.get(0).getCargoSpaceId());
}
@@ -354,7 +367,8 @@ public class PdaController extends BaseController {
mydoJob.setStatus(trayCodeMsg.getStatus());
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobList(mydoJob);
if(mydoJobs.isEmpty()){
return AjaxResult.error("此托盘没有作业");
log.error("此托盘没有作业");
return AjaxResult.error();
}
MydoJobDetail mydoJobDetail = new MydoJobDetail();
mydoJobDetail.setJobId(mydoJobs.get(0).getJobId());
@@ -397,8 +411,9 @@ public class PdaController extends BaseController {
@RequestMapping("/agvRequest")
@ResponseBody
public AjaxResult agvRequest(@RequestBody BasContainer basContainer) {
if(basContainer.getDetails().size()==0){
return AjaxResult.error("该料架无物料信息");
if(basContainer.getDetails().isEmpty()){
log.error("该料架无物料信息");
return AjaxResult.error();
}
return pdaService.agvRequest(basContainer);
}

View File

@@ -21,6 +21,7 @@ import com.ruoyi.bas.warehouse.service.IBasWarehouseService;
import com.ruoyi.check.commit.domain.CheckCommitRecord;
import com.ruoyi.check.commit.service.ICheckCommitRecordService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.MessageUtils;
import com.ruoyi.job.mydojob.domain.MydoJob;
import com.ruoyi.job.mydojob.service.IMydoJobService;
import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail;
@@ -48,6 +49,7 @@ import com.ruoyi.pda.trayMsg.service.ITrayMsgService;
import com.ruoyi.stock.stock.domain.BasStock;
import com.ruoyi.stock.stock.service.IBasStockService;
import com.ruoyi.system.service.ISysRoleService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -57,6 +59,7 @@ import java.util.*;
import java.util.stream.Collectors;
@Service
@Slf4j
public class PdaServiceImp implements PdaService {
@Autowired
private PdaMapper pdaMapper;
@@ -182,7 +185,7 @@ public class PdaServiceImp implements PdaService {
inStockinDetail1.setStockinDetailId(trayCodeMsg.getStockinDetailId());
InStockinDetail inStockinDetail = inStockinDetailService.selectStockinByDetailById(inStockinDetail1);
if (inStockinDetail == null) {
return AjaxResult.warn("此用户无权限操作该仓库物料,或物料不存在");
return AjaxResult.warn(MessageUtils.message("warn.message6"));
}
//判断与已绑定物料是否为同一仓库
TrayMsg trayMsg = new TrayMsg();
@@ -191,7 +194,7 @@ public class PdaServiceImp implements PdaService {
if (trayMsgs.size() > 0) {
// InStockinDetail inStockinDetail = inStockinDetailService.selectStockinByDetailById(trayCodeMsg.getStockinDetailId());
if (!trayMsgs.get(0).getWarehouseId().equals(inStockinDetail.getWarehouseId())) {
return AjaxResult.warn("同一托盘不能绑定不同仓库的物料");
return AjaxResult.warn(MessageUtils.message("warn.message7"));
}
}
@@ -240,7 +243,7 @@ public class PdaServiceImp implements PdaService {
// mydoJobParam.setStatus("3");
List<MydoJob> mydoJobList = mydoJobService.selectMydoJobList(mydoJobParam);
if (CollUtil.isEmpty(mydoJobList)) {
return AjaxResult.warn("任务不存在");
return AjaxResult.warn(MessageUtils.message("warn.message1"));
}
@@ -248,7 +251,7 @@ public class PdaServiceImp implements PdaService {
mydoJobDetailParam.setJobId(mydoJobList.get(0).getJobId());
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetailParam);
if (CollUtil.isEmpty(mydoJobDetails)) {
return AjaxResult.warn("子任务不存在");
return AjaxResult.warn(MessageUtils.message("warn.message2"));
}
//空托盘空料箱
if ("21".equals(mydoJobList.get(0).getInOrOut()) || "22".equals(mydoJobList.get(0).getInOrOut())) {
@@ -260,7 +263,7 @@ public class PdaServiceImp implements PdaService {
outStockoutParam.setStockoutId(mydoJobDetails.get(0).getInOrOutId());
List<OutStockout> outStockouts = outStockoutService.selectOutStockoutList(outStockoutParam);
if (CollUtil.isEmpty(outStockouts)) {
return AjaxResult.warn("单据不存在");
return AjaxResult.warn(MessageUtils.message("warn.message4"));
}
String billType = outStockouts.get(0).getOutType();
@@ -272,7 +275,7 @@ public class PdaServiceImp implements PdaService {
//退货单据 不绑定容器
return handleOutType2(trayCodeMakeSure, mydoJobDetails, mydoJobList.get(0));
default:
return AjaxResult.warn("单据类型错误");
return AjaxResult.warn(MessageUtils.message("warn.message3"));
}
}
@@ -317,7 +320,7 @@ public class PdaServiceImp implements PdaService {
return AjaxResult.warn(map.get("v_resultmsg").toString());
}
} else {
return AjaxResult.warn("拣选完成");
return AjaxResult.success();
}
}
@@ -394,7 +397,7 @@ public class PdaServiceImp implements PdaService {
return AjaxResult.warn(map.get("v_resultmsg").toString());
}
} else {
return AjaxResult.warn("拣选完成");
return AjaxResult.success();
}
}
@@ -404,14 +407,14 @@ public class PdaServiceImp implements PdaService {
public AjaxResult checkMakeSure(TrayCodeMakeSure trayCodeMakeSure) {
MydoJob mydoJob = mydoJobService.selectMydoJobByTrayCode(trayCodeMakeSure.getTrayCode());
if (mydoJob == null) {
return AjaxResult.warn("任务不存在");
return AjaxResult.warn(MessageUtils.message("warn.message"));
}
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(mydoJob.getWarehouseId());
List<MydoJobDetail> mydoJobDetailList = trayCodeMakeSure.getMaterials();
if (CollUtil.isNotEmpty(mydoJobDetailList)) {
boolean flag = mydoJobDetailList.stream().anyMatch(x -> StrUtil.isEmpty(x.getStockId()) && "0".equals(x.getInQuantity()));
if (flag) {
return AjaxResult.warn("新增库存,存在为0的数量");
return AjaxResult.warn(MessageUtils.message("warn.message8"));
}
for (MydoJobDetail mydoJobDetail : mydoJobDetailList) {
//插入盘点提交表
@@ -442,7 +445,7 @@ public class PdaServiceImp implements PdaService {
return AjaxResult.warn(map.get("v_resultmsg").toString());
}
}
return AjaxResult.success("盘点完成");
return AjaxResult.success();
}
/**
@@ -492,7 +495,7 @@ public class PdaServiceImp implements PdaService {
mydoJobParam.setTrayCode(trayCodeMakeSure.getTrayCode());
List<MydoJob> mydoJobList = mydoJobService.selectMydoJobList(mydoJobParam);
if (CollUtil.isEmpty(mydoJobList)) {
return AjaxResult.warn("任务不存在");
return AjaxResult.warn(MessageUtils.message("warn.message"));
}
MydoJob mydoJob = mydoJobList.get(0);
@@ -574,7 +577,7 @@ public class PdaServiceImp implements PdaService {
if (detail.getQuantity() != 0) {
if (StrUtil.isEmpty(basContainer.getSpare1())) {
return AjaxResult.warn("请选择退料仓库");
return AjaxResult.warn(MessageUtils.message("warn.message9"));
}
//去ctu库站点
BasProductPort basProductPort = new BasProductPort();
@@ -687,10 +690,10 @@ public class PdaServiceImp implements PdaService {
@Override
public AjaxResult bindContainer(TrayCodeMakeSure trayCodeMakeSure) {
if (CollUtil.isEmpty(trayCodeMakeSure.getMydoJobDetailList())) {
return AjaxResult.warn("请选择提供绑定数量");
return AjaxResult.warn(MessageUtils.message("warn.message10"));
}
if (StrUtil.isEmpty(trayCodeMakeSure.getContainerCode())) {
return AjaxResult.warn("请选择绑定容器");
return AjaxResult.warn(MessageUtils.message("warn.message11"));
}
for (MydoJobDetail mydoJobDetail : trayCodeMakeSure.getMydoJobDetailList()) {
//绑定容器
@@ -721,14 +724,15 @@ public class PdaServiceImp implements PdaService {
//删除缓存信息
outPickSubmitService.deleteOutPickSubmitById(outPickSubmit.getId());
} else if (subtract.compareTo(BigDecimal.ZERO) < 0) {
return AjaxResult.warn("绑定数量不能大于实际数量");
return AjaxResult.warn(MessageUtils.message("warn.message12"));
} else {
outPickSubmit.setQuantit(subtract.toString());
outPickSubmitService.updateOutPickSubmit(outPickSubmit);
}
}
}
return AjaxResult.success("绑定成功");
return AjaxResult.success();
}
@Override
@@ -765,6 +769,6 @@ public class PdaServiceImp implements PdaService {
}
return AjaxResult.success("绑定成功!");
return AjaxResult.success();
}
}

View File

@@ -28,6 +28,7 @@ import com.ruoyi.receive.stockin.domain.vo.*;
import com.ruoyi.receive.stockindetail.domain.ReceiveStockinDetail;
import com.ruoyi.receive.stockindetail.service.IReceiveStockinDetailService;
import com.ruoyi.receive.stockindetail.service.impl.ReceiveStockinDetailServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.receive.stockin.mapper.ReceiveStockinMapper;
@@ -42,6 +43,7 @@ import org.springframework.web.multipart.MultipartFile;
* @author ruoyi
* @date 2025-05-20
*/
@Slf4j
@Service
public class ReceiveStockinServiceImpl implements IReceiveStockinService
{
@@ -173,7 +175,8 @@ public class ReceiveStockinServiceImpl implements IReceiveStockinService
@Override
public AjaxResult analyseExportFile(List<ReceiveProductVo> list) {
if (CollUtil.isEmpty(list)){
return AjaxResult.error("导入数据为空");
log.error("导入数据为空");
return AjaxResult.error();
}
List<String> collect = list.stream().map(ReceiveProductVo::getProductId).collect(Collectors.toList());
List<BasProduct> result = iBasProductService.selectBasProductListByProductIds(collect);
@@ -207,7 +210,8 @@ public class ReceiveStockinServiceImpl implements IReceiveStockinService
Optional<ReceiveStockinDetail> first = list.stream().filter(x -> x.getStockStatus().equals("0")).findFirst();
if (first.isPresent()){
ReceiveStockinDetail receiveStockinDetail = first.get();
return AjaxResult.error("编号:"+receiveStockinDetail.getProductId()+",未质检");
log.error("编号:{}未质检", receiveStockinDetail.getProductId());
return AjaxResult.error();
}
InStockin inStockin = getInStockinByReceiveStockin(receiveStockin);
@@ -232,7 +236,8 @@ public class ReceiveStockinServiceImpl implements IReceiveStockinService
}
}
}else {
return AjaxResult.error("单据不存在");
log.error("单据不存在");
return AjaxResult.error();
}
}catch (Exception e){
throw new RuntimeException(e);

View File

@@ -14,6 +14,7 @@ import com.ruoyi.receive.stockin.domain.vo.ReceiveStockCreateInVo;
import com.ruoyi.receive.stockin.domain.vo.ReceiveStockDetailQualityInsVo;
import com.ruoyi.receive.stockin.domain.vo.ReceiveStockQualityInsVo;
import com.ruoyi.receive.stockin.service.IReceiveStockinService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.receive.stockindetail.mapper.ReceiveStockinDetailMapper;
@@ -27,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
* @author ruoyi
* @date 2025-05-20
*/
@Slf4j
@Service
public class ReceiveStockinDetailServiceImpl implements IReceiveStockinDetailService {
@Autowired
@@ -131,7 +133,8 @@ public class ReceiveStockinDetailServiceImpl implements IReceiveStockinDetailSer
@Transactional(rollbackFor = Exception.class)
public AjaxResult qualityInspection(ReceiveStockQualityInsVo receiveStockQualityInsVo) {
if (CollUtil.isEmpty(receiveStockQualityInsVo.getList())) {
return AjaxResult.error("请选择质检项");
log.error("请选择质检项");
return AjaxResult.error();
}
for (ReceiveStockDetailQualityInsVo receiveStockDetailQualityInsVo : receiveStockQualityInsVo.getList()) {
ReceiveStockinDetail receiveStockinDetail = selectReceiveStockinDetailByStockinDetailId(receiveStockDetailQualityInsVo.getStockinDetailId());

View File

@@ -38,7 +38,35 @@ no.export.permission=您没有导出数据的权限,请联系管理员添加
no.view.permission=您没有查看数据的权限,请联系管理员添加权限 [{0}]
#返回信息国际化
ajax.result.success=操作成功
ajax.result.fail=操作失败
table.result.success=查询成功
ajax.result.success=success
ajax.result.fail=fail
table.result.success=success
#2wms message
2wms.result1=作业请求成功
2wms.result2=没有该作业
#warn message
warn.message=任务不存在
warn.message1=任务已开始
warn.message2=子任务不存在
warn.message3=暂不支持的任务类型
warn.message4=单据不存在
warn.message5=单据状态未审核
warn.message6=此用户无权限操作该仓库物料,或物料不存在
warn.message7=同一托盘不能绑定不同仓库的物料
warn.message8=新增库存,存在为0的数量
warn.message9=请选择仓库
warn.message10=请选择提供绑定数量
warn.message11=请选择绑定容器
warn.message12=绑定数量不能大于实际数量
#error message
error.message1=托盘码不能为空
error.message2=作业号不能为空
error.message3=拣选工位不能为空
error.message4=没有该拣选工位绑定的电子标签
error.message5=容器码不能为空
error.message6=起始点位不能为空
error.message7=目标点位不能为空

View File

@@ -37,7 +37,35 @@ no.delete.permission=您没有删除数据的权限,请联系管理员添加
no.export.permission=您没有导出数据的权限,请联系管理员添加权限 [{0}]
no.view.permission=您没有查看数据的权限,请联系管理员添加权限 [{0}]
#返回信息国际化
ajax.result.success=操作成功
ajax.result.fail=操作失败
table.result.success=查询成功
#2wms message
2wms.result1=作业请求成功
2wms.result2=没有该作业
#warn message
warn.message=任务不存在
warn.message1=任务已开始
warn.message2=子任务不存在
warn.message3=暂不支持的任务类型
warn.message4=单据不存在
warn.message5=单据状态未审核
warn.message6=此用户无权限操作该仓库物料,或物料不存在
warn.message7=同一托盘不能绑定不同仓库的物料
warn.message8=新增库存,存在为0的数量
warn.message9=请选择仓库
warn.message10=请选择提供绑定数量
warn.message11=请选择绑定容器
warn.message12=绑定数量不能大于实际数量
#error message
error.message1=托盘码不能为空
error.message2=作业号不能为空
error.message3=拣选工位不能为空
error.message4=没有该拣选工位绑定的电子标签
error.message5=容器码不能为空
error.message6=起始点位不能为空
error.message7=目标点位不能为空