手持机部分

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

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

View File

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

View File

@@ -6,6 +6,7 @@ import java.util.List;
import java.util.Map;
import cn.hutool.json.JSONUtil;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.domain.ExtraField;
import com.ruoyi.in.stockin.domain.InStockin;
@@ -124,8 +125,10 @@ public class InStockinDetailServiceImpl implements IInStockinDetailService
}
@Override
public InStockinDetail selectStockinByDetailById(String stockinDetailId) {
return inStockinDetailMapper.selectStockinByDetailById(stockinDetailId);
@DataScope(warehouseAlias = "ist")
public InStockinDetail selectStockinByDetailById(InStockinDetail inStockinDetail) {
return inStockinDetailMapper.selectStockinByDetailById(inStockinDetail);
}
}

View File

@@ -11,7 +11,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
* @author ruoyi
* @date 2025-05-23
*/
public class MydoJob
public class MydoJob extends BaseEntity
{
private static final long serialVersionUID = 1L;
@@ -93,9 +93,7 @@ public class MydoJob
@Excel(name = "任务类型",dictType = "in_or_out_type")
private String inOrOut;
/** 开始时间 */
@Excel(name = "创建时间")
private String createTime;
/** 开始时间 */
@Excel(name = "开始时间")
@@ -146,13 +144,9 @@ public class MydoJob
this.warehouseName = warehouseName;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getInOut() {
return inOut;

View File

@@ -12,6 +12,7 @@ import com.ruoyi.bas.basJobId.service.IBasJobIdService;
import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace;
import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService;
import com.ruoyi.bas.taskNo.service.IBasTaskNoService;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
@@ -74,6 +75,7 @@ public class MydoJobServiceImpl implements IMydoJobService {
* @return 任务表
*/
@Override
@DataScope(warehouseAlias = "bw")
public List<MydoJob> selectMydoJobList(MydoJob mydoJob) {
return mydoJobMapper.selectMydoJobList(mydoJob);
}
@@ -86,7 +88,7 @@ public class MydoJobServiceImpl implements IMydoJobService {
*/
@Override
public int insertMydoJob(MydoJob mydoJob) {
mydoJob.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
mydoJob.setCreateTime(new Date());
mydoJob.setJobId(basJobIdService.getJobId("RK"));
mydoJob.setTaskNo(Convert.toStr(basTaskNoService.getTaskNo("1")));
return mydoJobMapper.insertMydoJob(mydoJob);
@@ -246,6 +248,15 @@ public class MydoJobServiceImpl implements IMydoJobService {
mydoJobDetail.setJobId(jobId);
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetail);
for (MydoJobDetail detail : mydoJobDetails) {
//修改库存的出库数量
BasStock basStock = basStockService.selectBasStockByStockId(detail.getStockId());
if (basStock != null) {
BigDecimal outQuantity = Convert.toBigDecimal(basStock.getOutQuantity());
BigDecimal substract = outQuantity.subtract(Convert.toBigDecimal(detail.getOutQuantity()));
basStock.setOutQuantity(String.valueOf(substract));
basStockService.updateBasStock(basStock);
}
//修改单据数量
OutStockoutDetail outStockoutDetail = outStockoutDetailService.selectOutStockoutDetailByStockoutDetailId(detail.getInOrOutDId());
if (outStockoutDetail != null) {
BigDecimal allotQuantity = outStockoutDetail.getAllotQuantity();
@@ -254,6 +265,12 @@ public class MydoJobServiceImpl implements IMydoJobService {
outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail);
}
}
//修改货位状态
BasCargoSpace cargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(job.getCargoSpaceId());
if (cargoSpace != null) {
cargoSpace.setStatus("1");
basCargoSpaceService.updateBasCargoSpace(cargoSpace);
}
job.setStatus("5");
insertHistory(jobId);
}

View File

@@ -125,6 +125,15 @@ public class MydoJobDetail extends BaseEntity
private String pickQuantity;
//额外字段
private ExtraField extraField;
private String pickQuantityReal;
public String getPickQuantityReal() {
return pickQuantityReal;
}
public void setPickQuantityReal(String pickQuantityReal) {
this.pickQuantityReal = pickQuantityReal;
}
public String getPickQuantity() {
return pickQuantity;

View File

@@ -1,6 +1,7 @@
package com.ruoyi.pda.controller;
import cn.hutool.core.util.StrUtil;
import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace;
import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService;
import com.ruoyi.bas.warehouse.domain.BasWarehouse;
import com.ruoyi.bas.warehouse.service.IBasWarehouseService;
@@ -11,6 +12,10 @@ 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.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.pda.domain.TrayCodeMakeSure;
import com.ruoyi.pda.domain.TrayCodeMsg;
import com.ruoyi.pda.service.PdaService;
@@ -23,6 +28,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -42,9 +48,16 @@ public class PdaController extends BaseController {
private IBasWarehouseService basWarehouseService;
@Autowired
private ITrayMsgService trayMsgService;
@Autowired
private IBasCargoSpaceService basCargoSpaceService;
@Autowired
private IMydoJobService mydoJobService;
@Autowired
private IMydoJobDetailService mydoJobDetailService;
/**
* 空托盘入库
*
* @param trayCodeMsg
* @return
*/
@@ -52,87 +65,121 @@ public class PdaController extends BaseController {
@ResponseBody
public AjaxResult emptyTrayIn(@RequestBody TrayCodeMsg trayCodeMsg) {
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId());
if(basWarehouse==null){
if (basWarehouse == null) {
return AjaxResult.error("仓库不存在");
}else{
if("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())){
return AjaxResult.error("请选择高架库货位");
}
}
if ("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())) {
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("此仓库没有空余货位");
} else {
trayCodeMsg.setCargoSpaceId(basCargoSpaces.get(0).getCargoSpaceId());
}
}
return pdaService.emptyTrayIn(trayCodeMsg);
}
/**
* 空料箱入库
*/
@RequestMapping("/emptyBoxIn")
@ResponseBody
public AjaxResult emptyBoxIn(@RequestBody TrayCodeMsg trayCodeMsg) {
AjaxResult ajaxResult = pdaService.emptyBoxIn(trayCodeMsg);
return ajaxResult;
}
// /**
// * 空料箱入库
// */
// @RequestMapping("/emptyBoxIn")
// @ResponseBody
// public AjaxResult emptyBoxIn(@RequestBody TrayCodeMsg trayCodeMsg) {
// AjaxResult ajaxResult = pdaService.emptyBoxIn(trayCodeMsg);
// return ajaxResult;
// }
/**
* 空托盘库存查询
*
* @param warehouseId
* @return
*/
@PreAuthorize("@ss.hasPermi('pda:selectKTPStcok:list')")
@RequestMapping("/selectKTPStcok")
@ResponseBody
public AjaxResult selectKTPStcok(String warehouseId) {
List<BasStock> basStockList = basStockService.selectKtpStock(warehouseId);
BasStock basStock = new BasStock();
basStock.setWarehouseId(warehouseId);
List<BasStock> basStockList = basStockService.selectKtpStock(basStock);
if (basStockList.size() != 0) {
return AjaxResult.success(basStockList);
}else{
return AjaxResult.error("此区域没有空托盘库存");
return AjaxResult.success(basStockList);
} else {
return AjaxResult.error("此区域没有空托盘库存");
}
}
/**
* 空托盘出库
*
* @param
* @return
*/
@RequestMapping("/emptyTrayOut")
@ResponseBody
public AjaxResult emptyTrayOut(@RequestBody TrayCodeMsg trayCodeMsg ) {
public AjaxResult emptyTrayOut(@RequestBody TrayCodeMsg trayCodeMsg) {
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId());
if (basWarehouse == null){
if (basWarehouse == null) {
return AjaxResult.error("仓库不存在");
}else{
if("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())){
return AjaxResult.error("请选择高架库货位");
}
if ("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())) {
return AjaxResult.error("请选择高架库货位");
}
if ("2".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getExitId())) {
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("此区域没有空托盘库存或此用户没有该区域权限");
}else{
trayCodeMsg.setCargoSpaceId(basStockList.get(0).getCargoSpaceId());
}
}
return pdaService.emptyTrayOut(trayCodeMsg);
}
/**
* 空料箱出库
* @param trayCodeMsg
* @return
*/
@RequestMapping("/emptyBoxOut")
@ResponseBody
public AjaxResult emptyBoxOut(@RequestBody TrayCodeMsg trayCodeMsg) {
return pdaService.emptyBoxOut(trayCodeMsg);
}
// /**
// * 空料箱出库
// *
// * @param trayCodeMsg
// * @return
// */
// @RequestMapping("/emptyBoxOut")
// @ResponseBody
// public AjaxResult emptyBoxOut(@RequestBody TrayCodeMsg trayCodeMsg) {
// return pdaService.emptyBoxOut(trayCodeMsg);
// }
/**
* 绑盘查询入库单详情
*
* @param stockinDetailId
* @return
*/
@PreAuthorize("@ss.hasPermi('pda:inoderList:list')")
@RequestMapping("/inorder/detail")
@ResponseBody
public InStockinDetail inoderList(String stockinDetailId) {
InStockinDetail inStockinDetail = inStockinDetailService.selectStockinByDetailById(stockinDetailId);
InStockinDetail inStockinDetail1 = new InStockinDetail();
inStockinDetail1.setStockinDetailId(stockinDetailId);
InStockinDetail inStockinDetail = inStockinDetailService.selectStockinByDetailById(inStockinDetail1);
return inStockinDetail;
}
/**
* 绑定托盘物料
*/
@@ -155,6 +202,7 @@ public class PdaController extends BaseController {
List<TrayMsg> trayMsgs = trayMsgService.selectTrayMsgList(trayMsg);
return AjaxResult.success(trayMsgs);
}
/**
* 确认入库
*/
@@ -162,18 +210,30 @@ 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("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())){
if (basWarehouse == null) {
return AjaxResult.error("仓库不存在");
}
if ("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())) {
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("此仓库没有空余货位");
} else {
trayCodeMsg.setCargoSpaceId(basCargoSpaces.get(0).getCargoSpaceId());
}
}
return pdaService.addInJob(trayCodeMsg);
}
/**
* 出库确认
*
* @param trayCodeMakeSure 托盘信息
* @return
*/
@@ -193,5 +253,68 @@ public class PdaController extends BaseController {
public AjaxResult checkMakeSure(@RequestBody TrayCodeMakeSure trayCodeMakeSure) {
return pdaService.checkMakeSure(trayCodeMakeSure);
}
/**
* 查询所有待处理任务
*/
@PreAuthorize("@ss.hasPermi('pda:taskList:list')")
@RequestMapping("/taskList")
@ResponseBody
public AjaxResult taskList(@RequestBody TrayCodeMsg trayCodeMsg) {
List<BasWarehouse> basWarehouses = basWarehouseService.selectBasWarehouseList(new BasWarehouse());
List<MydoJob> mydoJobArrayList = new ArrayList<>();
if(basWarehouses.size() != 0){
for(BasWarehouse basWarehouse : basWarehouses){
//高架库
if("1".equals(basWarehouse.getWarehouseType())){
MydoJob mydoJob = new MydoJob();
mydoJob.setWarehouseId(basWarehouse.getWarehouseId());
mydoJob.setCargoSpaceId(trayCodeMsg.getTrayCode());
mydoJob.setInOut(trayCodeMsg.getInOut());
mydoJob.setStatus("1");
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobList(mydoJob);
//将mydoJob添加进mydoJobArrayList
mydoJobArrayList.addAll(mydoJobs);
}
//ctu库
if("2".equals(basWarehouse.getWarehouseType()) && !"1".equals(trayCodeMsg.getInOut())){
MydoJob mydoJob = new MydoJob();
mydoJob.setInOut("2");
mydoJob.setWarehouseId(basWarehouse.getWarehouseId());
mydoJob.setCargoSpaceId(trayCodeMsg.getTrayCode());
mydoJob.setStatus("3");
List<MydoJob> mydoJobs2 = mydoJobService.selectMydoJobList(mydoJob);
mydoJobArrayList.addAll(mydoJobs2);
}
}
}
return AjaxResult.success(mydoJobArrayList);
}
/**
* 用托盘条码查询子作业数据
*/
@RequestMapping("/selectDetailByTray")
@ResponseBody
public AjaxResult selectDetailByTray(@RequestBody TrayCodeMsg trayCodeMsg) {
MydoJob mydoJob = new MydoJob();
mydoJob.setTrayCode(trayCodeMsg.getTrayCode());
mydoJob.setStatus(trayCodeMsg.getStatus());
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobList(mydoJob);
if(mydoJobs.size() == 0){
return AjaxResult.error("此托盘没有作业");
}
MydoJobDetail mydoJobDetail = new MydoJobDetail();
mydoJobDetail.setJobId(mydoJobs.get(0).getJobId());
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetail);
return AjaxResult.success(mydoJobDetails);
}
}

View File

@@ -16,6 +16,25 @@ private String exitId;
private String stockinDetailId;
private String inOut;
private String status;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getInOut() {
return inOut;
}
public void setInOut(String inOut) {
this.inOut = inOut;
}
public String getStockinDetailId() {
return stockinDetailId;
}

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("拣选完成");
}
}

View File

@@ -2,16 +2,12 @@ package com.ruoyi.pda.trayMsg.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
import com.ruoyi.in.stockindetail.service.IInStockinDetailService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
@@ -33,6 +29,8 @@ public class TrayMsgController extends BaseController
{
@Autowired
private ITrayMsgService trayMsgService;
@Autowired
private IInStockinDetailService inStockinDetailService;
/**
* 查询trayMsg列表
@@ -101,4 +99,24 @@ public class TrayMsgController extends BaseController
{
return toAjax(trayMsgService.deleteTrayMsgByIds(ids));
}
@PreAuthorize("@ss.hasPermi('pda:trayMsg:remove')")
@RequestMapping("/remove")
@Log(title = "trayMsg", businessType = BusinessType.DELETE)
public AjaxResult remove(@RequestBody TrayMsg trayMsg)
{
List<TrayMsg> list = trayMsgService.selectTrayMsgList(trayMsg);
int i = trayMsgService.deleteTrayMsgById(list.get(0).getId());
if(i>0){
// InStockinDetail inStockinDetail = new InStockinDetail();
// inStockinDetail.setStockinDetailId(trayMsg.getStockinDetailId());
InStockinDetail inStockinDetail1 = inStockinDetailService.selectInStockinDetailByStockinDetailId(trayMsg.getStockinDetailId());
Integer num=Integer.parseInt(inStockinDetail1.getScanNum())-Integer.parseInt(list.get(0).getQuantity());
inStockinDetail1.setScanNum(String.valueOf(num));
inStockinDetailService.updateInStockinDetail(inStockinDetail1);
}
return toAjax(i);
}
}

View File

@@ -1,6 +1,8 @@
package com.ruoyi.pda.trayMsg.service.impl;
import java.util.List;
import com.ruoyi.common.annotation.DataScope;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.pda.trayMsg.mapper.TrayMsgMapper;
@@ -38,6 +40,7 @@ public class TrayMsgServiceImpl implements ITrayMsgService
* @return trayMsg
*/
@Override
@DataScope(warehouseAlias = "w")
public List<TrayMsg> selectTrayMsgList(TrayMsg trayMsg)
{
return trayMsgMapper.selectTrayMsgList(trayMsg);
@@ -45,7 +48,6 @@ public class TrayMsgServiceImpl implements ITrayMsgService
/**
* 新增trayMsg
*
* @param trayMsg trayMsg
* @return 结果
*/

View File

@@ -61,5 +61,5 @@ public interface BasStockMapper
void insertBasStockList(List<BasStock> list);
List<BasStock> selectKtpStock(String warehouseId);
List<BasStock> selectKtpStock(BasStock basStock);
}

View File

@@ -63,5 +63,5 @@ public interface IBasStockService
void insertBasStockList(List<BasStock> list);
List<BasStock> selectKtpStock(String warehouseId);
List<BasStock> selectKtpStock(BasStock basStock);
}

View File

@@ -10,6 +10,7 @@ import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService;
import com.ruoyi.bas.cargoSpace.service.impl.BasCargoSpaceServiceImpl;
import com.ruoyi.bas.warehouse.domain.BasWarehouse;
import com.ruoyi.bas.warehouse.service.IBasWarehouseService;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.stock.freeze.domain.BasStockFreezeRecord;
@@ -174,9 +175,9 @@ public class BasStockServiceImpl implements IBasStockService
public void insertBasStockList(List<BasStock> list) {
basStockMapper.insertBasStockList(list);
}
@DataScope(warehouseAlias = "s")
@Override
public List<BasStock> selectKtpStock(String warehouseId) {
return basStockMapper.selectKtpStock(warehouseId);
public List<BasStock> selectKtpStock(BasStock basStock) {
return basStockMapper.selectKtpStock(basStock);
}
}