手持机部分

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

@@ -96,15 +96,5 @@ public class BasWarehouseController extends BaseController
{
return toAjax(basWarehouseService.deleteBasWarehouseByWarehouseIds(warehouseIds));
}
/**
* 获取除了CTU以外的库
*/
@RequestMapping("/getWarehouseByType")
@ResponseBody
public AjaxResult getWarehouseByType()
{
List<BasWarehouse> list = basWarehouseService.selectBasWarehouseListByType();
return AjaxResult.success(list);
}
}

View File

@@ -59,6 +59,9 @@ public class BasWarehouse extends BaseEntity
/*仓库数据权限*/
private List<String> dataScope;
private List<String> typeData;

View File

@@ -60,9 +60,6 @@ public interface BasWarehouseMapper
*/
public int deleteBasWarehouseByWarehouseIds(String[] warehouseIds);
/**
*
*/
public List<BasWarehouse> selectBasWarehouseListByType();
}

View File

@@ -60,8 +60,5 @@ public interface IBasWarehouseService
*/
public int deleteBasWarehouseByWarehouseId(String warehouseId);
/**
*
*/
public List<BasWarehouse> selectBasWarehouseListByType();
}

View File

@@ -116,11 +116,5 @@ public class BasWarehouseServiceImpl implements IBasWarehouseService
return basWarehouseMapper.deleteBasWarehouseByWarehouseId(warehouseId);
}
/**
*
*/
@Override
public List<BasWarehouse> selectBasWarehouseListByType() {
return basWarehouseMapper.selectBasWarehouseListByType();
}
}

View File

@@ -138,4 +138,8 @@ public class InStockinDetail extends BaseEntity
private ExtraField extraField;
private String warehouseName;
private String warehouseId;
}

View File

@@ -68,5 +68,5 @@ public interface InStockinDetailMapper
void deleteInStockinDetailByStockinGuid(String stockinGuid);
List<InStockinDetail> selectStockinByDetailById(String stockinDetailId);
InStockinDetail selectStockinByDetailById(String stockinDetailId);
}

View File

@@ -80,5 +80,5 @@ public interface IInStockinDetailService
AjaxResult barcodePrinting(Map<String,Object> stockinDetailId);
public List<InStockinDetail> selectStockinByDetailById(String stockinDetailId);
public InStockinDetail selectStockinByDetailById(String stockinDetailId);
}

View File

@@ -124,7 +124,7 @@ public class InStockinDetailServiceImpl implements IInStockinDetailService
}
@Override
public List<InStockinDetail> selectStockinByDetailById(String stockinDetailId) {
public InStockinDetail selectStockinByDetailById(String stockinDetailId) {
return inStockinDetailMapper.selectStockinByDetailById(stockinDetailId);
}

View File

@@ -127,8 +127,8 @@ public class PdaController extends BaseController {
*/
@RequestMapping("/inorder/detail")
@ResponseBody
public List<InStockinDetail> inoderList(String stockinDetailId) {
List<InStockinDetail> inStockinDetail = inStockinDetailService.selectStockinByDetailById(stockinDetailId);
public InStockinDetail inoderList(String stockinDetailId) {
InStockinDetail inStockinDetail = inStockinDetailService.selectStockinByDetailById(stockinDetailId);
return inStockinDetail;
}
/**
@@ -158,15 +158,13 @@ public class PdaController extends BaseController {
@ResponseBody
public AjaxResult addInJob(@RequestBody TrayCodeMsg trayCodeMsg) {
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId());
if(basWarehouse==null){
return AjaxResult.error("仓库不存在");
}
// if(basWarehouse==null){
// return AjaxResult.error("仓库不存在");
// }
if("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())){
return AjaxResult.error("请选择高架库货位");
}
if("2".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getEntranceId())){
return AjaxResult.error("请选择入口");
}
return pdaService.addInJob(trayCodeMsg);
}

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)){

View File

@@ -32,6 +32,36 @@ public class TrayMsg extends BaseEntity
private String productName;
private String warehouseId;
private String warehouseName;
private String warehouseType;
public String getWarehouseType() {
return warehouseType;
}
public void setWarehouseType(String warehouseType) {
this.warehouseType = warehouseType;
}
public String getWarehouseId() {
return warehouseId;
}
public void setWarehouseId(String warehouseId) {
this.warehouseId = warehouseId;
}
public String getWarehouseName() {
return warehouseName;
}
public void setWarehouseName(String warehouseName) {
this.warehouseName = warehouseName;
}
public String getProductName() {
return productName;
}