仓库权限问题
This commit is contained in:
@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
|
||||
import com.ruoyi.bas.warehouse.domain.BasWarehouse;
|
||||
import com.ruoyi.bas.warehouse.mapper.BasWarehouseMapper;
|
||||
import com.ruoyi.bas.warehouse.service.IBasWarehouseService;
|
||||
import com.ruoyi.common.annotation.DataScope;
|
||||
import com.ruoyi.common.core.domain.entity.SysRole;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
@@ -51,21 +52,10 @@ public class BasWarehouseServiceImpl implements IBasWarehouseService
|
||||
* @return 仓库管理
|
||||
*/
|
||||
@Override
|
||||
@DataScope
|
||||
public List<BasWarehouse> selectBasWarehouseList(BasWarehouse basWarehouse)
|
||||
{
|
||||
List<SysRole> roles = sysRoleService.selectRolesByUserId(SecurityUtils.getUserId());
|
||||
if (roles.stream().anyMatch(SysRole::isAdmin)){
|
||||
return basWarehouseMapper.selectBasWarehouseList(basWarehouse);
|
||||
}else {
|
||||
List<String> dateScope =new ArrayList<>();
|
||||
for (SysRole role : roles) {
|
||||
if (CollUtil.isNotEmpty(role.getWarehouseDataScope())){
|
||||
dateScope.addAll(role.getWarehouseDataScope());
|
||||
}
|
||||
}
|
||||
basWarehouse.setDataScope(dateScope);
|
||||
return basWarehouseMapper.selectBasWarehouseList(basWarehouse);
|
||||
}
|
||||
return basWarehouseMapper.selectBasWarehouseList(basWarehouse);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -121,9 +121,19 @@ public class MydoJobDetail extends BaseEntity
|
||||
private String spare4;
|
||||
|
||||
private String status;
|
||||
@Excel(name = "拣选数量")
|
||||
private String pickQuantity;
|
||||
//额外字段
|
||||
private ExtraField extraField;
|
||||
|
||||
public String getPickQuantity() {
|
||||
return pickQuantity;
|
||||
}
|
||||
|
||||
public void setPickQuantity(String pickQuantity) {
|
||||
this.pickQuantity = pickQuantity;
|
||||
}
|
||||
|
||||
public ExtraField getExtraField() {
|
||||
return extraField;
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 历史子作业对象 mydo_job_detail_finish
|
||||
*
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-05-23
|
||||
*/
|
||||
@@ -118,263 +118,274 @@ public class MydoJobDetailFinish extends BaseEntity
|
||||
/** 备用字段4 */
|
||||
@Excel(name = "备用字段4")
|
||||
private String spare4;
|
||||
@Excel(name = "拣选数量")
|
||||
private String pickQuantity;
|
||||
|
||||
public void setJobDetailId(String jobDetailId)
|
||||
public String getPickQuantity() {
|
||||
return pickQuantity;
|
||||
}
|
||||
|
||||
public void setPickQuantity(String pickQuantity) {
|
||||
this.pickQuantity = pickQuantity;
|
||||
}
|
||||
|
||||
|
||||
public void setJobDetailId(String jobDetailId)
|
||||
{
|
||||
this.jobDetailId = jobDetailId;
|
||||
}
|
||||
|
||||
public String getJobDetailId()
|
||||
public String getJobDetailId()
|
||||
{
|
||||
return jobDetailId;
|
||||
}
|
||||
|
||||
public void setJobId(String jobId)
|
||||
public void setJobId(String jobId)
|
||||
{
|
||||
this.jobId = jobId;
|
||||
}
|
||||
|
||||
public String getJobId()
|
||||
public String getJobId()
|
||||
{
|
||||
return jobId;
|
||||
}
|
||||
|
||||
public void setStockId(String stockId)
|
||||
public void setStockId(String stockId)
|
||||
{
|
||||
this.stockId = stockId;
|
||||
}
|
||||
|
||||
public String getStockId()
|
||||
public String getStockId()
|
||||
{
|
||||
return stockId;
|
||||
}
|
||||
|
||||
public void setLotNo(String lotNo)
|
||||
public void setLotNo(String lotNo)
|
||||
{
|
||||
this.lotNo = lotNo;
|
||||
}
|
||||
|
||||
public String getLotNo()
|
||||
public String getLotNo()
|
||||
{
|
||||
return lotNo;
|
||||
}
|
||||
|
||||
public void setInDate(String inDate)
|
||||
public void setInDate(String inDate)
|
||||
{
|
||||
this.inDate = inDate;
|
||||
}
|
||||
|
||||
public String getInDate()
|
||||
public String getInDate()
|
||||
{
|
||||
return inDate;
|
||||
}
|
||||
|
||||
public void setInOrOutId(String inOrOutId)
|
||||
public void setInOrOutId(String inOrOutId)
|
||||
{
|
||||
this.inOrOutId = inOrOutId;
|
||||
}
|
||||
|
||||
public String getInOrOutId()
|
||||
public String getInOrOutId()
|
||||
{
|
||||
return inOrOutId;
|
||||
}
|
||||
|
||||
public void setInOrOutDId(String inOrOutDId)
|
||||
public void setInOrOutDId(String inOrOutDId)
|
||||
{
|
||||
this.inOrOutDId = inOrOutDId;
|
||||
}
|
||||
|
||||
public String getInOrOutDId()
|
||||
public String getInOrOutDId()
|
||||
{
|
||||
return inOrOutDId;
|
||||
}
|
||||
|
||||
public void setProductGuid(String productGuid)
|
||||
public void setProductGuid(String productGuid)
|
||||
{
|
||||
this.productGuid = productGuid;
|
||||
}
|
||||
|
||||
public String getProductGuid()
|
||||
public String getProductGuid()
|
||||
{
|
||||
return productGuid;
|
||||
}
|
||||
|
||||
public void setProductId(String productId)
|
||||
public void setProductId(String productId)
|
||||
{
|
||||
this.productId = productId;
|
||||
}
|
||||
|
||||
public String getProductId()
|
||||
public String getProductId()
|
||||
{
|
||||
return productId;
|
||||
}
|
||||
|
||||
public void setStockStatus(String stockStatus)
|
||||
public void setStockStatus(String stockStatus)
|
||||
{
|
||||
this.stockStatus = stockStatus;
|
||||
}
|
||||
|
||||
public String getStockStatus()
|
||||
public String getStockStatus()
|
||||
{
|
||||
return stockStatus;
|
||||
}
|
||||
|
||||
public void setInQuantity(String inQuantity)
|
||||
public void setInQuantity(String inQuantity)
|
||||
{
|
||||
this.inQuantity = inQuantity;
|
||||
}
|
||||
|
||||
public String getInQuantity()
|
||||
public String getInQuantity()
|
||||
{
|
||||
return inQuantity;
|
||||
}
|
||||
|
||||
public void setStockQuantity(String stockQuantity)
|
||||
public void setStockQuantity(String stockQuantity)
|
||||
{
|
||||
this.stockQuantity = stockQuantity;
|
||||
}
|
||||
|
||||
public String getStockQuantity()
|
||||
public String getStockQuantity()
|
||||
{
|
||||
return stockQuantity;
|
||||
}
|
||||
|
||||
public void setOutQuantity(String outQuantity)
|
||||
public void setOutQuantity(String outQuantity)
|
||||
{
|
||||
this.outQuantity = outQuantity;
|
||||
}
|
||||
|
||||
public String getOutQuantity()
|
||||
public String getOutQuantity()
|
||||
{
|
||||
return outQuantity;
|
||||
}
|
||||
|
||||
public void setLayerQuantity(String layerQuantity)
|
||||
public void setLayerQuantity(String layerQuantity)
|
||||
{
|
||||
this.layerQuantity = layerQuantity;
|
||||
}
|
||||
|
||||
public String getLayerQuantity()
|
||||
public String getLayerQuantity()
|
||||
{
|
||||
return layerQuantity;
|
||||
}
|
||||
|
||||
public void setOutLayerQuantity(String outLayerQuantity)
|
||||
public void setOutLayerQuantity(String outLayerQuantity)
|
||||
{
|
||||
this.outLayerQuantity = outLayerQuantity;
|
||||
}
|
||||
|
||||
public String getOutLayerQuantity()
|
||||
public String getOutLayerQuantity()
|
||||
{
|
||||
return outLayerQuantity;
|
||||
}
|
||||
|
||||
public void setGiveNum(String giveNum)
|
||||
public void setGiveNum(String giveNum)
|
||||
{
|
||||
this.giveNum = giveNum;
|
||||
}
|
||||
|
||||
public String getGiveNum()
|
||||
public String getGiveNum()
|
||||
{
|
||||
return giveNum;
|
||||
}
|
||||
|
||||
public void setStockinId(String stockinId)
|
||||
public void setStockinId(String stockinId)
|
||||
{
|
||||
this.stockinId = stockinId;
|
||||
}
|
||||
|
||||
public String getStockinId()
|
||||
public String getStockinId()
|
||||
{
|
||||
return stockinId;
|
||||
}
|
||||
|
||||
public void setStackingId(String stackingId)
|
||||
public void setStackingId(String stackingId)
|
||||
{
|
||||
this.stackingId = stackingId;
|
||||
}
|
||||
|
||||
public String getStackingId()
|
||||
public String getStackingId()
|
||||
{
|
||||
return stackingId;
|
||||
}
|
||||
|
||||
public void setExitId(String exitId)
|
||||
public void setExitId(String exitId)
|
||||
{
|
||||
this.exitId = exitId;
|
||||
}
|
||||
|
||||
public String getExitId()
|
||||
public String getExitId()
|
||||
{
|
||||
return exitId;
|
||||
}
|
||||
|
||||
public void setPrintDate(String printDate)
|
||||
public void setPrintDate(String printDate)
|
||||
{
|
||||
this.printDate = printDate;
|
||||
}
|
||||
|
||||
public String getPrintDate()
|
||||
public String getPrintDate()
|
||||
{
|
||||
return printDate;
|
||||
}
|
||||
|
||||
public void setCustomerId(String customerId)
|
||||
public void setCustomerId(String customerId)
|
||||
{
|
||||
this.customerId = customerId;
|
||||
}
|
||||
|
||||
public String getCustomerId()
|
||||
public String getCustomerId()
|
||||
{
|
||||
return customerId;
|
||||
}
|
||||
|
||||
public void setSupplierId(String supplierId)
|
||||
public void setSupplierId(String supplierId)
|
||||
{
|
||||
this.supplierId = supplierId;
|
||||
}
|
||||
|
||||
public String getSupplierId()
|
||||
public String getSupplierId()
|
||||
{
|
||||
return supplierId;
|
||||
}
|
||||
|
||||
public void setSpare1(String spare1)
|
||||
public void setSpare1(String spare1)
|
||||
{
|
||||
this.spare1 = spare1;
|
||||
}
|
||||
|
||||
public String getSpare1()
|
||||
public String getSpare1()
|
||||
{
|
||||
return spare1;
|
||||
}
|
||||
|
||||
public void setSpare2(String spare2)
|
||||
public void setSpare2(String spare2)
|
||||
{
|
||||
this.spare2 = spare2;
|
||||
}
|
||||
|
||||
public String getSpare2()
|
||||
public String getSpare2()
|
||||
{
|
||||
return spare2;
|
||||
}
|
||||
|
||||
public void setSpare3(String spare3)
|
||||
public void setSpare3(String spare3)
|
||||
{
|
||||
this.spare3 = spare3;
|
||||
}
|
||||
|
||||
public String getSpare3()
|
||||
public String getSpare3()
|
||||
{
|
||||
return spare3;
|
||||
}
|
||||
|
||||
public void setSpare4(String spare4)
|
||||
public void setSpare4(String spare4)
|
||||
{
|
||||
this.spare4 = spare4;
|
||||
}
|
||||
|
||||
public String getSpare4()
|
||||
public String getSpare4()
|
||||
{
|
||||
return spare4;
|
||||
}
|
||||
|
||||
@@ -11,12 +11,14 @@ import com.ruoyi.in.stockin.domain.InStockin;
|
||||
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.TrayCodeMakeSure;
|
||||
import com.ruoyi.pda.domain.TrayCodeMsg;
|
||||
import com.ruoyi.pda.service.PdaService;
|
||||
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 org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
@@ -134,6 +136,7 @@ public class PdaController extends BaseController {
|
||||
/**
|
||||
* 绑定托盘物料
|
||||
*/
|
||||
@PreAuthorize("@ss.hasAnyPermi('bas:warehouse:list')")
|
||||
@RequestMapping("/bindTrayMsg")
|
||||
@ResponseBody
|
||||
public AjaxResult bindTrayMsg(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||
@@ -170,13 +173,13 @@ public class PdaController extends BaseController {
|
||||
|
||||
/**
|
||||
* 出库确认
|
||||
* @param trayCode 托盘码
|
||||
* @param trayCodeMakeSure 托盘信息
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/outMakeSure")
|
||||
@PostMapping("/outMakeSure")
|
||||
@ResponseBody
|
||||
public AjaxResult outMakeSure(String trayCode) {
|
||||
return pdaService.outMakeSure(trayCode);
|
||||
public AjaxResult outMakeSure(@RequestBody TrayCodeMakeSure trayCodeMakeSure) {
|
||||
return pdaService.outMakeSure(trayCodeMakeSure);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.ruoyi.pda.domain;
|
||||
|
||||
import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ToString
|
||||
public class TrayCodeMakeSure {
|
||||
//托盘码
|
||||
private String trayCode;
|
||||
//容器码
|
||||
private String containerCode;
|
||||
//拣选列表
|
||||
private List<MydoJobDetail> mydoJobDetailList;
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.ruoyi.pda.service;
|
||||
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.pda.domain.TrayCodeMakeSure;
|
||||
import com.ruoyi.pda.domain.TrayCodeMsg;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.aspectj.weaver.loadtime.Aj;
|
||||
@@ -22,5 +23,5 @@ public interface PdaService {
|
||||
public AjaxResult addInJob(TrayCodeMsg trayCodeMsg);
|
||||
|
||||
|
||||
AjaxResult outMakeSure(String trayCode);
|
||||
AjaxResult outMakeSure(TrayCodeMakeSure trayCodeMakeSure);
|
||||
}
|
||||
|
||||
@@ -1,15 +1,21 @@
|
||||
package com.ruoyi.pda.service;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
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.job.mydojob.domain.MydoJob;
|
||||
import com.ruoyi.job.mydojob.service.IMydoJobService;
|
||||
import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail;
|
||||
import com.ruoyi.job.mydojobdetail.service.IMydoJobDetailService;
|
||||
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.TrayCodeMakeSure;
|
||||
import com.ruoyi.pda.domain.TrayCodeMsg;
|
||||
import com.ruoyi.pda.mapper.PdaMapper;
|
||||
import com.ruoyi.pda.trayMsg.domain.TrayMsg;
|
||||
@@ -17,7 +23,9 @@ 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 org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
@@ -26,9 +34,14 @@ import java.util.List;
|
||||
@Service
|
||||
public class PdaServiceImp implements PdaService{
|
||||
@Autowired
|
||||
PdaMapper pdaMapper;
|
||||
private PdaMapper pdaMapper;
|
||||
@Autowired
|
||||
IBasCargoSpaceService basCargoSpaceService;
|
||||
private IBasCargoSpaceService basCargoSpaceService;
|
||||
@Autowired
|
||||
private IMydoJobDetailService mydoJobDetailService;;
|
||||
|
||||
@Autowired
|
||||
private IMydoJobService mydoJobService;;
|
||||
@Autowired
|
||||
ISysRoleService sysRoleService;
|
||||
@Autowired
|
||||
@@ -167,15 +180,46 @@ public class PdaServiceImp implements PdaService{
|
||||
}
|
||||
|
||||
@Override
|
||||
public AjaxResult outMakeSure(String trayCode) {
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
map.put("v_tray_code", trayCode);
|
||||
pdaMapper.outMakeSure(map);
|
||||
String result = map.get("v_result").toString();
|
||||
if("10".equals(result)){
|
||||
return AjaxResult.success(map.get("v_resultmsg").toString());
|
||||
}else{
|
||||
return AjaxResult.warn(map.get("v_resultmsg").toString());
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public AjaxResult outMakeSure(TrayCodeMakeSure trayCodeMakeSure) {
|
||||
//修改拣选数量
|
||||
List<MydoJobDetail> mydoJobDetailList = trayCodeMakeSure.getMydoJobDetailList();
|
||||
for (MydoJobDetail mydoJobDetail : mydoJobDetailList) {
|
||||
MydoJobDetail mydoJobDetailOld = mydoJobDetailService.selectMydoJobDetailByJobDetailId(mydoJobDetail.getJobDetailId());
|
||||
BigDecimal oldPickQuantity = Convert.toBigDecimal(mydoJobDetailOld.getPickQuantity());
|
||||
BigDecimal newPickQuantity = Convert.toBigDecimal(mydoJobDetail.getPickQuantity());
|
||||
mydoJobDetail.setPickQuantity(oldPickQuantity.add(newPickQuantity).toString());
|
||||
mydoJobDetailService.updateMydoJobDetail(mydoJobDetail);
|
||||
}
|
||||
|
||||
//查询当前任务是否已经全部拣选完成
|
||||
MydoJob mydoJobParam = new MydoJob();
|
||||
mydoJobParam.setTrayCode(trayCodeMakeSure.getTrayCode());
|
||||
List<MydoJob> mydoJobList = mydoJobService.selectMydoJobList(mydoJobParam);
|
||||
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)){
|
||||
return AjaxResult.warn("子任务不存在");
|
||||
}
|
||||
|
||||
boolean flag = mydoJobDetails.stream().allMatch(mydoJobDetail -> mydoJobDetail.getPickQuantity().equals(mydoJobDetail.getOutQuantity()));
|
||||
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)){
|
||||
return AjaxResult.success(map.get("v_resultmsg").toString());
|
||||
}else{
|
||||
return AjaxResult.warn(map.get("v_resultmsg").toString());
|
||||
}
|
||||
}else {
|
||||
return AjaxResult.warn("拣选完成");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user