手持机部分

This commit is contained in:
张怡蓉
2025-06-17 14:32:57 +08:00
parent ffa580c9a6
commit d19bdf5b10
15 changed files with 111 additions and 45 deletions

View File

@@ -1,14 +1,24 @@
package com.ruoyi.pda.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace;
import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.in.stockin.service.IInStockinService;
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
import com.ruoyi.in.stockindetail.service.IInStockinDetailService;
import com.ruoyi.pda.domain.TrayCodeMsg;
import com.ruoyi.pda.mapper.PdaMapper;
import com.ruoyi.pda.trayMsg.domain.TrayMsg;
import com.ruoyi.pda.trayMsg.service.ITrayMsgService;
import com.ruoyi.system.service.ISysRoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@@ -19,6 +29,12 @@ public class PdaServiceImp implements PdaService{
PdaMapper pdaMapper;
@Autowired
IBasCargoSpaceService basCargoSpaceService;
@Autowired
ISysRoleService sysRoleService;
@Autowired
IInStockinDetailService inStockinDetailService;
@Autowired
ITrayMsgService trayMsgService;
/**
* 空托盘入库
@@ -94,6 +110,32 @@ public class PdaServiceImp implements PdaService{
@Override
public AjaxResult bindTrayMsg(TrayCodeMsg trayCodeMsg) {
//判断用户的仓库权限
List<SysRole> roles = sysRoleService.selectRolesByUserId(SecurityUtils.getUserId());
if (!roles.stream().anyMatch(SysRole::isAdmin)){
for (SysRole role : roles) {
if (CollUtil.isNotEmpty(role.getWarehouseDataScope())){
InStockinDetail inStockinDetail = inStockinDetailService.selectStockinByDetailById(trayCodeMsg.getStockinDetailId());
if(!role.getWarehouseDataScope().stream().anyMatch(warehouseId -> warehouseId.equals(inStockinDetail.getWarehouseId()))){
return AjaxResult.warn("此用户无权限操作该仓库物料");
}
}
}
}
//判断与已绑定物料是否为同一仓库
TrayMsg trayMsg = new TrayMsg();
trayMsg.setTrayCode(trayCodeMsg.getTrayCode());
List<TrayMsg> trayMsgs = trayMsgService.selectTrayMsgList(trayMsg);
if(trayMsgs.size()>0){
InStockinDetail inStockinDetail = inStockinDetailService.selectStockinByDetailById(trayCodeMsg.getStockinDetailId());
if(!trayMsgs.get(0).getWarehouseId().equals(inStockinDetail.getWarehouseId())){
return AjaxResult.warn("同一托盘不能绑定不同仓库的物料");
}
}
HashMap<String, Object> map = new HashMap<>();
map.put("v_tray_code", trayCodeMsg.getTrayCode());
map.put("v_stockin_detail_id", trayCodeMsg.getStockinDetailId());
@@ -112,9 +154,8 @@ public class PdaServiceImp implements PdaService{
public AjaxResult addInJob(TrayCodeMsg trayCodeMsg) {
HashMap<String, Object> map = new HashMap<>();
map.put("v_tray_code", trayCodeMsg.getTrayCode());
map.put("v_warehouse_id", trayCodeMsg.getWarehouseId());
// map.put("v_warehouse_id", trayCodeMsg.getWarehouseId());
map.put("v_cargo_space_id", trayCodeMsg.getCargoSpaceId());
map.put("v_entrance_id", trayCodeMsg.getEntranceId());
pdaMapper.addInJob(map);
String result = map.get("v_result").toString();
if("10".equals(result)){