From 0baf2119e4fa27951f2ed212326e50ee34d960ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=80=A1=E8=93=89?= <377046077@qq.com> Date: Tue, 8 Jul 2025 14:04:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=8B=E6=8C=81=E6=9C=BA=E9=83=A8=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bas/container/domain/BasContainer.java | 5 ++ .../ruoyi/bas/port/domain/BasProductPort.java | 8 ++ .../CheckDifferenceRecordServiceImpl.java | 1 + .../ruoyi/in/stockin/domain/InStockin.java | 12 +++ .../out/outStockout/domain/OutStockout.java | 12 +++ .../service/impl/OutStockoutServiceImpl.java | 2 + .../ruoyi/pda/controller/PdaController.java | 78 ++++++++++++++++++- .../java/com/ruoyi/pda/mapper/PdaMapper.java | 4 + .../com/ruoyi/pda/service/PdaService.java | 7 ++ .../com/ruoyi/pda/service/PdaServiceImp.java | 65 ++++++++++++++++ .../resources/mapper/in/InStockinMapper.xml | 6 ++ .../mapper/out/OutStockoutMapper.xml | 9 +++ .../main/resources/mapper/pda/PdaMapper.xml | 17 ++++ ruoyi-ui/src/views/out/addOutStockout.vue | 32 ++++---- 14 files changed, 238 insertions(+), 20 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/bas/container/domain/BasContainer.java b/ruoyi-admin/src/main/java/com/ruoyi/bas/container/domain/BasContainer.java index cae1b68..ad8fc3b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/bas/container/domain/BasContainer.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/bas/container/domain/BasContainer.java @@ -1,5 +1,6 @@ package com.ruoyi.bas.container.domain; +import com.ruoyi.bas.containerDetails.domain.BasContainerDetails; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -8,6 +9,8 @@ import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; +import java.util.List; + /** * 容器管理对象 bas_container * @@ -54,4 +57,6 @@ public class BasContainer extends BaseEntity /** 备用 */ private String spare3; + private List details; + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/bas/port/domain/BasProductPort.java b/ruoyi-admin/src/main/java/com/ruoyi/bas/port/domain/BasProductPort.java index ecb3893..41548f3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/bas/port/domain/BasProductPort.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/bas/port/domain/BasProductPort.java @@ -35,7 +35,15 @@ public class BasProductPort extends BaseEntity /** 创建人 */ @Excel(name = "创建人") private String createMan; + private String warehouseId; + public String getWarehouseId() { + return warehouseId; + } + + public void setWarehouseId(String warehouseId) { + this.warehouseId = warehouseId; + } private List productIdList; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/difference/service/impl/CheckDifferenceRecordServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/check/difference/service/impl/CheckDifferenceRecordServiceImpl.java index 4c7382d..77cfd32 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/check/difference/service/impl/CheckDifferenceRecordServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/difference/service/impl/CheckDifferenceRecordServiceImpl.java @@ -66,6 +66,7 @@ public class CheckDifferenceRecordServiceImpl implements ICheckDifferenceRecordS @Override public AjaxResult insertCheckDifferenceRecord(CheckDifferenceRecord checkDifferenceRecord) { + //1更新3删除2新增 if (checkDifferenceRecord.getRecordType()==1){ String stockId = checkDifferenceRecord.getStockId(); BasStock basStock = basStockService.selectBasStockByStockId(stockId); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/InStockin.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/InStockin.java index 9e6f13c..76a5a15 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/InStockin.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/InStockin.java @@ -5,6 +5,8 @@ import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; +import java.util.List; + /** * 入库单据对象 in_stockin * @@ -101,6 +103,16 @@ public class InStockin extends BaseEntity private String lotNo; private String materialDesc; + private List typeData; + + public List getTypeData() { + return typeData; + } + + public void setTypeData(List typeData) { + this.typeData = typeData; + } + public String getLotNo() { return lotNo; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutStockout.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutStockout.java index 3d56aa7..5882415 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutStockout.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutStockout.java @@ -5,6 +5,8 @@ import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; +import java.util.List; + /** * 出库主单对象 out_stockout * @@ -89,6 +91,16 @@ public class OutStockout extends BaseEntity private String productName; + private List typeData; + + public List getTypeData() { + return typeData; + } + + public void setTypeData(List typeData) { + this.typeData = typeData; + } + public String getProductId() { return productId; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/impl/OutStockoutServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/impl/OutStockoutServiceImpl.java index 3751152..9792aaa 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/impl/OutStockoutServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/impl/OutStockoutServiceImpl.java @@ -7,6 +7,7 @@ import java.util.HashMap; import java.util.List; import com.ruoyi.bas.basJobId.service.IBasJobIdService; +import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.uuid.UUID; import com.ruoyi.out.outStockout.domain.OutStockoutVo; @@ -59,6 +60,7 @@ public class OutStockoutServiceImpl implements IOutStockoutService * @return 出库主单 */ @Override + @DataScope(warehouseAlias = "bw") public List selectOutStockoutList(OutStockout outStockout) { return outStockoutMapper.selectOutStockoutList(outStockout); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java index 7502b18..ce5fb0c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java @@ -3,11 +3,14 @@ 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.container.domain.BasContainer; import com.ruoyi.bas.warehouse.domain.BasWarehouse; import com.ruoyi.bas.warehouse.service.IBasWarehouseService; +import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; import com.ruoyi.in.stockin.domain.InStockin; import com.ruoyi.in.stockin.service.IInStockinService; import com.ruoyi.in.stockindetail.domain.InStockinDetail; @@ -16,6 +19,8 @@ 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.out.outStockout.domain.OutStockout; +import com.ruoyi.out.outStockout.service.IOutStockoutService; import com.ruoyi.pda.domain.TrayCodeMakeSure; import com.ruoyi.pda.domain.TrayCodeMsg; import com.ruoyi.pda.service.PdaService; @@ -29,6 +34,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; @@ -54,6 +60,10 @@ public class PdaController extends BaseController { private IMydoJobService mydoJobService; @Autowired private IMydoJobDetailService mydoJobDetailService; + @Autowired + private IInStockinService inStockinService; + @Autowired + private IOutStockoutService outStockoutService; /** * 空托盘入库 @@ -63,6 +73,7 @@ public class PdaController extends BaseController { */ @RequestMapping("/emptyTrayIn") @ResponseBody + @Log(title = "空托盘入库", businessType = BusinessType.INSERT) public AjaxResult emptyTrayIn(@RequestBody TrayCodeMsg trayCodeMsg) { BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId()); if (basWarehouse == null) { @@ -127,6 +138,7 @@ public class PdaController extends BaseController { */ @RequestMapping("/emptyTrayOut") @ResponseBody + @Log(title = "空托盘出库", businessType = BusinessType.INSERT) public AjaxResult emptyTrayOut(@RequestBody TrayCodeMsg trayCodeMsg) { BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId()); if (basWarehouse == null) { @@ -163,6 +175,18 @@ public class PdaController extends BaseController { // public AjaxResult emptyBoxOut(@RequestBody TrayCodeMsg trayCodeMsg) { // return pdaService.emptyBoxOut(trayCodeMsg); // } + /** + * 查询平库入库单 + */ + @PreAuthorize("@ss.hasPermi('pda:inoderList:list')") + @RequestMapping("/inorder/list") + @ResponseBody + public List inoderList(@RequestBody InStockin inStockin) { + inStockin.setTypeData(Arrays.asList("3")); + List inStockins = inStockinService.selectInStockinList(inStockin); + return inStockins; + + } /** * 绑盘查询入库单详情 @@ -185,6 +209,7 @@ public class PdaController extends BaseController { */ @PreAuthorize("@ss.hasPermi('pda:bindTrayMsg:submit')") @RequestMapping("/bindTrayMsg") + @Log(title = "手持机绑定物料", businessType = BusinessType.INSERT) @ResponseBody public AjaxResult bindTrayMsg(@RequestBody TrayCodeMsg trayCodeMsg) { return pdaService.bindTrayMsg(trayCodeMsg); @@ -207,6 +232,7 @@ public class PdaController extends BaseController { * 确认入库 */ @RequestMapping("/addInJob") + @Log(title = "手持机确认入库", businessType = BusinessType.INSERT) @ResponseBody public AjaxResult addInJob(@RequestBody TrayCodeMsg trayCodeMsg) { BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId()); @@ -239,6 +265,7 @@ public class PdaController extends BaseController { */ @PreAuthorize("@ss.hasPermi('pda:out:outMakeSure')") @PostMapping("/outMakeSure") + @Log(title = "手持机出库确认", businessType = BusinessType.INSERT) @ResponseBody public AjaxResult outMakeSure(@RequestBody TrayCodeMakeSure trayCodeMakeSure) { return pdaService.outMakeSure(trayCodeMakeSure); @@ -264,6 +291,7 @@ public class PdaController extends BaseController { */ @PreAuthorize("@ss.hasPermi('pda:check:checkMakeSure')") @PostMapping("/checkMakeSure") + @Log(title = "手持机盘点出库确认", businessType = BusinessType.INSERT) @ResponseBody public AjaxResult checkMakeSure(@RequestBody TrayCodeMakeSure trayCodeMakeSure) { return pdaService.checkMakeSure(trayCodeMakeSure); @@ -288,7 +316,13 @@ public class PdaController extends BaseController { mydoJob.setWarehouseId(basWarehouse.getWarehouseId()); mydoJob.setCargoSpaceId(trayCodeMsg.getTrayCode()); mydoJob.setInOut(trayCodeMsg.getInOut()); - mydoJob.setStatus("1"); + if("1".equals(trayCodeMsg.getInOut())){ + mydoJob.setStatus("1"); + }else{ + mydoJob.setStatus("3"); + } + + List mydoJobs = mydoJobService.selectMydoJobList(mydoJob); //将mydoJob添加进mydoJobArrayList mydoJobArrayList.addAll(mydoJobs); @@ -331,5 +365,47 @@ public class PdaController extends BaseController { return AjaxResult.success(mydoJobDetails); } + /** + * 平库入库 + */ + @RequestMapping("/pkIn") + @ResponseBody + public AjaxResult pkIn(@RequestBody TrayCodeMsg trayCodeMsg) { + return pdaService.pkIn(trayCodeMsg); + } + + /** + * 查询平库出库单 + */ + @PreAuthorize("@ss.hasPermi('pda:outoderList:list')") + @RequestMapping("/outorder/list") + @ResponseBody + public List outoderList(@RequestBody OutStockout outStockout) { + outStockout.setTypeData(Arrays.asList("3")); + List outStockouts = outStockoutService.selectOutStockoutList(outStockout); + return outStockouts; + } + + /** + * 平库出库 + */ + @RequestMapping("/pkout") + @ResponseBody + public AjaxResult pkout(@RequestBody TrayCodeMsg trayCodeMsg) { + return pdaService.pkout(trayCodeMsg); + } + /** + * 调用wcs接口调用agv + */ + @RequestMapping("/agvRequest") + @ResponseBody + public AjaxResult agvRequest(@RequestBody BasContainer basContainer) { + if(basContainer.getDetails().size()==0){ + return AjaxResult.error("该料架无物料信息"); + } + return pdaService.agvRequest(basContainer); + } + + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/mapper/PdaMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/mapper/PdaMapper.java index a7fb1d4..11ea08d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/mapper/PdaMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/mapper/PdaMapper.java @@ -20,5 +20,9 @@ public interface PdaMapper { void checkMakeSure(HashMap map); + void pkIn(HashMap map); + + void pkOut(HashMap map); + void outMakeSureException(HashMap map); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java index 2cd23f4..3006c56 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java @@ -1,5 +1,6 @@ package com.ruoyi.pda.service; +import com.ruoyi.bas.container.domain.BasContainer; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.pda.domain.TrayCodeMakeSure; import com.ruoyi.pda.domain.TrayCodeMsg; @@ -27,5 +28,11 @@ public interface PdaService { AjaxResult checkMakeSure(TrayCodeMakeSure trayCodeMakeSure); + AjaxResult pkIn(TrayCodeMsg trayCodeMsg); + + AjaxResult pkout(TrayCodeMsg trayCodeMsg); + AjaxResult outException(TrayCodeMakeSure trayCodeMakeSure); + + AjaxResult agvRequest(BasContainer basContainer); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java index 11bea9b..7db6b58 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java @@ -5,8 +5,11 @@ 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.bas.container.domain.BasContainer; import com.ruoyi.bas.containerDetails.domain.BasContainerDetails; import com.ruoyi.bas.containerDetails.service.IBasContainerDetailsService; +import com.ruoyi.bas.port.domain.BasProductPort; +import com.ruoyi.bas.port.mapper.BasProductPortMapper; import com.ruoyi.check.commit.domain.CheckCommitRecord; import com.ruoyi.check.commit.service.ICheckCommitRecordService; import com.ruoyi.common.core.domain.AjaxResult; @@ -70,6 +73,8 @@ public class PdaServiceImp implements PdaService { @Autowired private IOutStockoutDetailService outStockoutDetailService; @Autowired + private BasProductPortMapper basProductPortMapper; + @Autowired private IBasStockService basStockService; /** @@ -420,4 +425,64 @@ public class PdaServiceImp implements PdaService { throw new RuntimeException(map.get("v_resultmsg").toString()); } } + + @Override + public AjaxResult pkIn(TrayCodeMsg trayCodeMsg) { + HashMap map = new HashMap<>(); + map.put("v_stockin_detail_id", trayCodeMsg.getStockinDetailId()); + map.put("v_in_quantity", Integer.parseInt(trayCodeMsg.getInQuantity())); + + pdaMapper.pkIn(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()); + } + + } + + + @Override + public AjaxResult pkout(TrayCodeMsg trayCodeMsg) { + HashMap map = new HashMap<>(); + map.put("v_stockout_detail_id", trayCodeMsg.getStockinDetailId()); + pdaMapper.pkOut(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()); + } + + } + + @Override + public AjaxResult agvRequest(BasContainer basContainer) { + //缓存站点 + String endPoint = "456"; + //判断details中的数量是否都为0 + if (CollUtil.isNotEmpty(basContainer.getDetails())) { + for (BasContainerDetails detail : basContainer.getDetails()) { + //如果存在数量不为0的 + if (detail.getQuantity() != 0) { + + if(StrUtil.isEmpty(basContainer.getSpare1())){ + return AjaxResult.warn("请选择退料仓库"); + } + //去ctu库站点 + BasProductPort basProductPort = new BasProductPort(); + basProductPort.setWarehouseId(basContainer.getSpare1()); + List basProductPorts = basProductPortMapper.selectBasProductPortList(basProductPort); + endPoint=basProductPorts.get(0).getId(); + + } + + } + } + //todo 调用agv搬运接口 + + + return null; + } } diff --git a/ruoyi-admin/src/main/resources/mapper/in/InStockinMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/InStockinMapper.xml index 6c667f9..1c10b36 100644 --- a/ruoyi-admin/src/main/resources/mapper/in/InStockinMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/in/InStockinMapper.xml @@ -98,6 +98,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ${params.warehouseDataScope} + + and bw.warehouse_type in + + #{item} + + diff --git a/ruoyi-admin/src/main/resources/mapper/out/OutStockoutMapper.xml b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutMapper.xml index 5ad5591..6462198 100644 --- a/ruoyi-admin/src/main/resources/mapper/out/OutStockoutMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutMapper.xml @@ -57,6 +57,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and d.product_id = #{productId} and bp.product_name like concat('%', #{productName}, '%') and bc.customer_name like concat('%', #{customerName}, '%') + + ${params.warehouseDataScope} + + + and bw.warehouse_type in + + #{item} + + diff --git a/ruoyi-admin/src/main/resources/mapper/pda/PdaMapper.xml b/ruoyi-admin/src/main/resources/mapper/pda/PdaMapper.xml index ba5547a..9649438 100644 --- a/ruoyi-admin/src/main/resources/mapper/pda/PdaMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/pda/PdaMapper.xml @@ -83,4 +83,21 @@ #{v_resultmsg,mode=OUT,jdbcType=VARCHAR} )} + + + + diff --git a/ruoyi-ui/src/views/out/addOutStockout.vue b/ruoyi-ui/src/views/out/addOutStockout.vue index 5248dbe..4440d38 100644 --- a/ruoyi-ui/src/views/out/addOutStockout.vue +++ b/ruoyi-ui/src/views/out/addOutStockout.vue @@ -44,7 +44,7 @@ - +