手持机部分

This commit is contained in:
张怡蓉
2025-06-24 08:42:50 +08:00
parent 3add052259
commit a1e17f572c
21 changed files with 313 additions and 111 deletions

View File

@@ -36,16 +36,18 @@ import java.util.HashMap;
import java.util.List;
@Service
public class PdaServiceImp implements PdaService{
public class PdaServiceImp implements PdaService {
@Autowired
private PdaMapper pdaMapper;
@Autowired
private IBasCargoSpaceService basCargoSpaceService;
@Autowired
private IMydoJobDetailService mydoJobDetailService;;
private IMydoJobDetailService mydoJobDetailService;
;
@Autowired
private IMydoJobService mydoJobService;;
private IMydoJobService mydoJobService;
;
@Autowired
ISysRoleService sysRoleService;
@Autowired
@@ -59,6 +61,7 @@ public class PdaServiceImp implements PdaService{
/**
* 空托盘入库
*
* @param trayCodeMsg
* @return
*/
@@ -71,9 +74,9 @@ public class PdaServiceImp implements PdaService{
map.put("v_cargo_space_id", trayCodeMsg.getCargoSpaceId());
pdaMapper.emptyTrayIn(map);
String result = map.get("v_result").toString();
if("10".equals(result)){
if ("10".equals(result)) {
return AjaxResult.success(map.get("v_resultmsg").toString());
}else{
} else {
return AjaxResult.error(map.get("v_resultmsg").toString());
}
@@ -81,6 +84,7 @@ public class PdaServiceImp implements PdaService{
/**
* 空料箱入库
*
* @param trayCodeMsg
* @return
*/
@@ -92,9 +96,9 @@ public class PdaServiceImp implements PdaService{
map.put("v_entrance_id", trayCodeMsg.getEntranceId());
pdaMapper.emptyBoxIn(map);
String result = map.get("v_result").toString();
if("10".equals(result)){
if ("10".equals(result)) {
return AjaxResult.success(map.get("v_resultmsg").toString());
}else{
} else {
return AjaxResult.error(map.get("v_resultmsg").toString());
}
@@ -105,11 +109,12 @@ public class PdaServiceImp implements PdaService{
HashMap<String, Object> map = new HashMap<>();
map.put("v_warehouse_id", trayCodeMsg.getWarehouseId());
map.put("v_cargo_space_id", trayCodeMsg.getCargoSpaceId());
map.put("v_exit_id", trayCodeMsg.getExitId());
pdaMapper.emptyTrayOut(map);
String result = map.get("v_result").toString();
if("10".equals(result)){
if ("10".equals(result)) {
return AjaxResult.success(map.get("v_resultmsg").toString());
}else{
} else {
return AjaxResult.warn(map.get("v_resultmsg").toString());
}
}
@@ -122,9 +127,9 @@ public class PdaServiceImp implements PdaService{
map.put("v_exit_id", trayCodeMsg.getExitId());
pdaMapper.emptyBoxOut(map);
String result = map.get("v_result").toString();
if("10".equals(result)){
if ("10".equals(result)) {
return AjaxResult.success(map.get("v_resultmsg").toString());
}else{
} else {
return AjaxResult.warn(map.get("v_resultmsg").toString());
}
}
@@ -132,26 +137,19 @@ 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("此用户无权限操作该仓库物料");
}
}
}
InStockinDetail inStockinDetail1 = new InStockinDetail();
inStockinDetail1.setStockinDetailId(trayCodeMsg.getStockinDetailId());
InStockinDetail inStockinDetail = inStockinDetailService.selectStockinByDetailById(inStockinDetail1);
if (inStockinDetail == null) {
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())){
if (trayMsgs.size() > 0) {
// InStockinDetail inStockinDetail = inStockinDetailService.selectStockinByDetailById(trayCodeMsg.getStockinDetailId());
if (!trayMsgs.get(0).getWarehouseId().equals(inStockinDetail.getWarehouseId())) {
return AjaxResult.warn("同一托盘不能绑定不同仓库的物料");
}
}
@@ -160,12 +158,12 @@ public class PdaServiceImp implements PdaService{
HashMap<String, Object> map = new HashMap<>();
map.put("v_tray_code", trayCodeMsg.getTrayCode());
map.put("v_stockin_detail_id", trayCodeMsg.getStockinDetailId());
map.put("v_quantity", Integer.parseInt(trayCodeMsg.getInQuantity()));
map.put("v_quantity", Integer.parseInt(trayCodeMsg.getInQuantity()));
pdaMapper.bindTrayMsg(map);
String result = map.get("v_result").toString();
if("10".equals(result)){
if ("10".equals(result)) {
return AjaxResult.success(map.get("v_resultmsg").toString());
}else{
} else {
return AjaxResult.warn(map.get("v_resultmsg").toString());
}
}
@@ -179,9 +177,9 @@ public class PdaServiceImp implements PdaService{
map.put("v_cargo_space_id", trayCodeMsg.getCargoSpaceId());
pdaMapper.addInJob(map);
String result = map.get("v_result").toString();
if("10".equals(result)){
if ("10".equals(result)) {
return AjaxResult.success(map.get("v_resultmsg").toString());
}else{
} else {
return AjaxResult.warn(map.get("v_resultmsg").toString());
}
@@ -222,29 +220,29 @@ public class PdaServiceImp implements PdaService{
MydoJob mydoJobParam = new MydoJob();
mydoJobParam.setTrayCode(trayCodeMakeSure.getTrayCode());
List<MydoJob> mydoJobList = mydoJobService.selectMydoJobList(mydoJobParam);
if (CollUtil.isEmpty(mydoJobList)){
if (CollUtil.isEmpty(mydoJobList)) {
return AjaxResult.warn("任务不存在");
}
MydoJobDetail mydoJobDetailParam = new MydoJobDetail();
mydoJobDetailParam.setJobId(mydoJobList.get(0).getJobId());
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetailParam);
if (CollUtil.isEmpty(mydoJobDetails)){
if (CollUtil.isEmpty(mydoJobDetails)) {
return AjaxResult.warn("子任务不存在");
}
boolean flag = mydoJobDetails.stream().allMatch(mydoJobDetail -> mydoJobDetail.getPickQuantity().equals(mydoJobDetail.getOutQuantity()));
if (flag){
if (flag) {
HashMap<String, Object> map = new HashMap<>();
map.put("v_tray_code", trayCodeMakeSure.getTrayCode());
pdaMapper.outMakeSure(map);
String result = map.get("v_result").toString();
if("10".equals(result)){
if ("10".equals(result)) {
return AjaxResult.success(map.get("v_resultmsg").toString());
}else{
} else {
return AjaxResult.warn(map.get("v_resultmsg").toString());
}
}else {
} else {
return AjaxResult.warn("拣选完成");
}
}