diff --git a/bin/serve-start.bat b/bin/serve-start.bat new file mode 100644 index 0000000..77913eb --- /dev/null +++ b/bin/serve-start.bat @@ -0,0 +1,109 @@ +@echo off +chcp 65001 >nul +title 服务启动脚本(Nginx+Redis+Jar) +setlocal enabledelayedexpansion + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: 请根据实际路径修改以下配置项 +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: Nginx安装目录(nginx.exe所在路径) +set "NGINX_PATH=D:\project\nginx" +:: Redis安装目录(redis-server.exe所在路径) +set "REDIS_PATH=D:\redis" +:: Redis配置文件路径(可选,默认使用redis.windows.conf) +set "REDIS_CONF=%REDIS_PATH%\redis.windows.conf" +:: Jar包路径及名称 +set "JAR_PATH=D:\project\ft541\wms\wms.jar" +:: Java启动参数(可根据需要调整内存、端口等) +set "JAVA_OPTS=-Xms512m -Xmx1024m -Dserver.port=8080" +:: Jar包启动后的窗口标题 +set "JAR_WINDOW_TITLE=业务应用服务" + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: 启动Nginx +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +echo. +echo ================================================== +echo 正在启动Nginx... +echo ================================================== +if not exist "%NGINX_PATH%\nginx.exe" ( + echo [错误] Nginx可执行文件不存在:%NGINX_PATH%\nginx.exe + pause + exit /b 1 +) + +cd /d "%NGINX_PATH%" +start "" nginx.exe +:: 简单延迟检查是否启动成功 +timeout /t 2 /nobreak >nul +tasklist | findstr /i "nginx.exe" >nul +if %errorlevel% equ 0 ( + echo [成功] Nginx已启动 +) else ( + echo [失败] Nginx启动失败,请检查路径或配置 +) + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: 启动Redis +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +echo. +echo ================================================== +echo 正在启动Redis... +echo ================================================== +if not exist "%REDIS_PATH%\redis-server.exe" ( + echo [错误] Redis可执行文件不存在:%REDIS_PATH%\redis-server.exe + pause + exit /b 1 +) +if not exist "%REDIS_CONF%" ( + echo [警告] Redis配置文件不存在:%REDIS_CONF%,将使用默认配置启动 +) + +cd /d "%REDIS_PATH%" +start "Redis服务" redis-server.exe "%REDIS_CONF%" +timeout /t 2 /nobreak >nul +tasklist | findstr /i "redis-server.exe" >nul +if %errorlevel% equ 0 ( + echo [成功] Redis已启动 +) else ( + echo [失败] Redis启动失败,请检查路径或配置 +) + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: 启动Jar包 +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +echo. +echo ================================================== +echo 正在启动Jar包应用... +echo ================================================== +if not exist "%JAR_PATH%" ( + echo [错误] Jar包文件不存在:%JAR_PATH% + pause + exit /b 1 +) + +:: 检查Java环境 +java -version >nul 2>&1 +if %errorlevel% neq 0 ( + echo [错误] 未检测到Java环境,请确保已配置JAVA_HOME或添加java到环境变量 + pause + exit /b 1 +) + +:: 启动Jar包(使用start命令单独打开窗口,避免阻塞) +start "%JAR_WINDOW_TITLE%" java %JAVA_OPTS% -jar "%JAR_PATH%" +echo [信息] Jar包启动命令已执行,应用启动可能需要几秒时间... +echo [提示] 应用窗口标题:%JAR_WINDOW_TITLE% + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: 启动完成提示 +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +echo. +echo ================================================== +echo 所有服务启动指令已执行完成! +echo 请检查各服务是否正常运行: +echo - Nginx:访问 http://localhost 测试 +echo - Redis:使用客户端连接 localhost:6379 测试 +echo - Jar应用:访问 http://localhost:8080 测试(端口请根据实际配置调整) +echo ================================================== +pause \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/StockScreenServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/StockScreenServiceImpl.java index 3d9b193..0d4f196 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/StockScreenServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/StockScreenServiceImpl.java @@ -29,10 +29,10 @@ public class StockScreenServiceImpl implements IStockScreenService { List list = basStockService.selectBasStockListApi(new BasStock()); BigDecimal total = BigDecimal.ZERO; for (BasStock s : list) { - String q = s.getQuantity(); - if (q != null && !q.trim().isEmpty()) { + BigDecimal quantity = s.getQuantity(); + if (quantity != null && quantity.doubleValue()!=0) { try { - total = total.add(new BigDecimal(q.trim())); + total = total.add(quantity); } catch (Exception ignored) { } } @@ -134,4 +134,4 @@ public class StockScreenServiceImpl implements IStockScreenService { return 0; } } -} \ No newline at end of file +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/mapper/BasCargoSpaceMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/mapper/BasCargoSpaceMapper.java index 3f94ef1..b14e2cf 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/mapper/BasCargoSpaceMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/mapper/BasCargoSpaceMapper.java @@ -91,4 +91,6 @@ public interface BasCargoSpaceMapper extends BaseMapper * @return 库存信息集合 */ public List selectBasCargoSpaceListByRoadway(BasCargoSpace basCargoSpace); + + void lockedCargoSpace(BasCargoSpace basCargoSpace); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/service/impl/BasCargoSpaceServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/service/impl/BasCargoSpaceServiceImpl.java index e9a5b7e..225ee6e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/service/impl/BasCargoSpaceServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/bas/cargoSpace/service/impl/BasCargoSpaceServiceImpl.java @@ -78,8 +78,14 @@ public class BasCargoSpaceServiceImpl extends ServiceImpl map = new HashMap<>(); String msg = ""; String Stringbuilder = ""; - for (String stockId : stockIds) { - map.put("v_stock_id", stockId); - map.put("v_exit_id", exitId); - mydoJobMapper.pointOut(map); - iToWcsService.pushOutMydoJob(); - String result = map.get("v_result").toString(); - msg=map.get("v_resultmsg").toString(); - if (!"10".equals(result)) { - Stringbuilder += stockId + msg + "
"; - } + map.put("v_group_coding_no", groupCodingNo); + map.put("v_jh_quantity", quantity); + mydoJobMapper.pointOut(map); + iToWcsService.pushOutMydoJob(); + String result = map.get("v_result").toString(); + msg = map.get("v_resultmsg").toString(); + if (!"10".equals(result)) { + Stringbuilder += groupCodingNo + msg + "
"; } if (!StrUtil.isEmpty(Stringbuilder)) { return AjaxResult.warn(Stringbuilder); @@ -563,7 +561,7 @@ public class MydoJobServiceImpl implements IMydoJobService { if (basStock != null) { BigDecimal outQuantity = Convert.toBigDecimal(basStock.getOutQuantity()); BigDecimal substract = outQuantity.subtract(Convert.toBigDecimal(mydoJobDetail.getOutQuantity())); - basStock.setOutQuantity(String.valueOf(substract)); + basStock.setOutQuantity(substract); basStockService.updateBasStock(basStock); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/controller/ViewHandAllotStockController.java b/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/controller/ViewHandAllotStockController.java index 50dff3c..ed19155 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/controller/ViewHandAllotStockController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/controller/ViewHandAllotStockController.java @@ -22,10 +22,10 @@ import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; /** - * 手动分配库存Controller + * 指定出库Controller * * @author ruoyi - * @date 2025-09-16 + * @date 2025-12-09 */ @RestController @RequestMapping("/out/handAllotStock") @@ -35,7 +35,7 @@ public class ViewHandAllotStockController extends BaseController private IViewHandAllotStockService viewHandAllotStockService; /** - * 查询手动分配库存列表 + * 查询指定出库列表 */ @PreAuthorize("@ss.hasPermi('out:handAllotStock:list')") @GetMapping("/list") @@ -47,33 +47,33 @@ public class ViewHandAllotStockController extends BaseController } /** - * 导出手动分配库存列表 + * 导出指定出库列表 */ @PreAuthorize("@ss.hasPermi('out:handAllotStock:export')") - @Log(title = "手动分配库存", businessType = BusinessType.EXPORT) + @Log(title = "指定出库", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ViewHandAllotStock viewHandAllotStock) { List list = viewHandAllotStockService.selectViewHandAllotStockList(viewHandAllotStock); ExcelUtil util = new ExcelUtil(ViewHandAllotStock.class); - util.exportExcel(response, list, "手动分配库存数据"); + util.exportExcel(response, list, "指定出库数据"); } /** - * 获取手动分配库存详细信息 + * 获取指定出库详细信息 */ @PreAuthorize("@ss.hasPermi('out:handAllotStock:query')") - @GetMapping(value = "/{stockId}") - public AjaxResult getInfo(@PathVariable("stockId") String stockId) + @GetMapping(value = "/{onlyIdentity}") + public AjaxResult getInfo(@PathVariable("onlyIdentity") Long onlyIdentity) { - return success(viewHandAllotStockService.selectViewHandAllotStockByStockId(stockId)); + return success(viewHandAllotStockService.selectViewHandAllotStockByOnlyIdentity(onlyIdentity)); } /** - * 新增手动分配库存 + * 新增指定出库 */ @PreAuthorize("@ss.hasPermi('out:handAllotStock:add')") - @Log(title = "手动分配库存", businessType = BusinessType.INSERT) + @Log(title = "指定出库", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody ViewHandAllotStock viewHandAllotStock) { @@ -81,10 +81,10 @@ public class ViewHandAllotStockController extends BaseController } /** - * 修改手动分配库存 + * 修改指定出库 */ @PreAuthorize("@ss.hasPermi('out:handAllotStock:edit')") - @Log(title = "手动分配库存", businessType = BusinessType.UPDATE) + @Log(title = "指定出库", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody ViewHandAllotStock viewHandAllotStock) { @@ -92,13 +92,13 @@ public class ViewHandAllotStockController extends BaseController } /** - * 删除手动分配库存 + * 删除指定出库 */ @PreAuthorize("@ss.hasPermi('out:handAllotStock:remove')") - @Log(title = "手动分配库存", businessType = BusinessType.DELETE) - @DeleteMapping("/{stockIds}") - public AjaxResult remove(@PathVariable String[] stockIds) + @Log(title = "指定出库", businessType = BusinessType.DELETE) + @DeleteMapping("/{onlyIdentitys}") + public AjaxResult remove(@PathVariable Long[] onlyIdentitys) { - return toAjax(viewHandAllotStockService.deleteViewHandAllotStockByStockIds(stockIds)); + return toAjax(viewHandAllotStockService.deleteViewHandAllotStockByOnlyIdentitys(onlyIdentitys)); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/domain/ViewHandAllotStock.java b/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/domain/ViewHandAllotStock.java index 5061d37..e21bbeb 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/domain/ViewHandAllotStock.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/domain/ViewHandAllotStock.java @@ -1,579 +1,128 @@ package com.ruoyi.out.handAllotStock.domain; -import java.math.BigDecimal; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; /** - * 手动分配库存对象 view_hand_allot_stock - * + * 指定出库对象 view_hand_allot_stock + * * @author ruoyi - * @date 2025-09-16 + * @date 2025-12-09 */ public class ViewHandAllotStock extends BaseEntity { private static final long serialVersionUID = 1L; - /** 库存编码 */ - @Excel(name = "库存编码") - private String stockId; + /** 唯一id */ + @Excel(name = "唯一id") + private Long onlyIdentity; - /** 货位编码 */ - @Excel(name = "货位编码") - private String cargoSpaceId; + /** 列数 */ + @Excel(name = "列数") + private Long theColumn; - /** 库存状态 */ - @Excel(name = "库存状态") - private String stockStatus; + /** 层数 */ + @Excel(name = "层数") + private Long theFloor; - /** 物品状态 */ - @Excel(name = "物品状态") - private String productStatus; - - /** 批次号 */ - @Excel(name = "批次号") - private String lotNo; - - /** 入库时间 */ - @Excel(name = "入库时间") - private String inDate; - - /** $column.columnComment */ - @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") - private String backDate; - - /** $column.columnComment */ - @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") - private String productGuid; - - /** 数量 */ - @Excel(name = "数量") - private BigDecimal quantity; - - /** 作业编码 */ - @Excel(name = "作业编码") - private String jobId; - - /** 托盘条码 */ - @Excel(name = "托盘条码") - private String trayCode; - - /** 出库数量 */ - @Excel(name = "出库数量") - private String outQuantity; - - /** 入库子单号 */ - @Excel(name = "入库子单号") - private String stockinDetailId; - - /** 入库单号 */ - @Excel(name = "入库单号") - private String stockinId; - - /** 入库类型 */ - @Excel(name = "入库类型") - private String inType; - - /** $column.columnComment */ - @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") - private String inClassId; - - /** 仓库编码 */ - @Excel(name = "仓库编码") - private String warehouseId; - - /** $column.columnComment */ - @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") - private String stackingId; - - /** 规格 */ - @Excel(name = "规格") - private String spare1; - - /** $column.columnComment */ - @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") - private String spare2; - - /** 单位 */ - @Excel(name = "单位") - private String spare3; - - /** 型号 */ - @Excel(name = "型号") - private String spare4; - - /** 颜色 */ - @Excel(name = "颜色") - private String spare5; - - /** 序列号 */ - @Excel(name = "序列号") - private String spare6; - - /** 品号 */ - @Excel(name = "品号") + /** 产品编码 */ + @Excel(name = "产品编码") private String productId; - /** 品名 */ - @Excel(name = "品名") + /** 产品名称 */ + @Excel(name = "产品名称") private String productName; - /** 电压 */ - @Excel(name = "电压") - private String voltage; + /** 通道组编码 */ + @Excel(name = "通道组编码") + private String groupCodingNo; - /** 功率 */ - @Excel(name = "功率") - private String power; + /** 库存数量 */ + @Excel(name = "库存数量") + private String quantity; - /** 相位 */ - @Excel(name = "相位") - private String phase; - - /** 净重 */ - @Excel(name = "净重") - private String netWeight; - - /** 毛重 */ - @Excel(name = "毛重") - private String grossWeight; - - /** 分销 */ - @Excel(name = "分销") - private String distribution; - - /** 机型 */ - @Excel(name = "机型") - private String model; - - /** 订单号 */ - @Excel(name = "订单号") - private String orderId; - - /** $column.columnComment */ - @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") - private String spare7; - - /** $column.columnComment */ - @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") - private String spare8; - - /** 货位名称 */ - @Excel(name = "货位名称") - private String cargoSpaceName; - - public void setStockId(String stockId) + public void setOnlyIdentity(Long onlyIdentity) { - this.stockId = stockId; + this.onlyIdentity = onlyIdentity; } - public String getStockId() + public Long getOnlyIdentity() { - return stockId; + return onlyIdentity; } - public void setCargoSpaceId(String cargoSpaceId) + public void setTheColumn(Long theColumn) { - this.cargoSpaceId = cargoSpaceId; + this.theColumn = theColumn; } - public String getCargoSpaceId() + public Long getTheColumn() { - return cargoSpaceId; + return theColumn; } - public void setStockStatus(String stockStatus) + public void setTheFloor(Long theFloor) { - this.stockStatus = stockStatus; + this.theFloor = theFloor; } - public String getStockStatus() + public Long getTheFloor() { - return stockStatus; + return theFloor; } - public void setProductStatus(String productStatus) - { - this.productStatus = productStatus; - } - - public String getProductStatus() - { - return productStatus; - } - - public void setLotNo(String lotNo) - { - this.lotNo = lotNo; - } - - public String getLotNo() - { - return lotNo; - } - - public void setInDate(String inDate) - { - this.inDate = inDate; - } - - public String getInDate() - { - return inDate; - } - - public void setBackDate(String backDate) - { - this.backDate = backDate; - } - - public String getBackDate() - { - return backDate; - } - - public void setProductGuid(String productGuid) - { - this.productGuid = productGuid; - } - - public String getProductGuid() - { - return productGuid; - } - - public void setQuantity(BigDecimal quantity) - { - this.quantity = quantity; - } - - public BigDecimal getQuantity() - { - return quantity; - } - - public void setJobId(String jobId) - { - this.jobId = jobId; - } - - public String getJobId() - { - return jobId; - } - - public void setTrayCode(String trayCode) - { - this.trayCode = trayCode; - } - - public String getTrayCode() - { - return trayCode; - } - - public void setOutQuantity(String outQuantity) - { - this.outQuantity = outQuantity; - } - - public String getOutQuantity() - { - return outQuantity; - } - - public void setStockinDetailId(String stockinDetailId) - { - this.stockinDetailId = stockinDetailId; - } - - public String getStockinDetailId() - { - return stockinDetailId; - } - - public void setStockinId(String stockinId) - { - this.stockinId = stockinId; - } - - public String getStockinId() - { - return stockinId; - } - - public void setInType(String inType) - { - this.inType = inType; - } - - public String getInType() - { - return inType; - } - - public void setInClassId(String inClassId) - { - this.inClassId = inClassId; - } - - public String getInClassId() - { - return inClassId; - } - - public void setWarehouseId(String warehouseId) - { - this.warehouseId = warehouseId; - } - - public String getWarehouseId() - { - return warehouseId; - } - - public void setStackingId(String stackingId) - { - this.stackingId = stackingId; - } - - public String getStackingId() - { - return stackingId; - } - - public void setSpare1(String spare1) - { - this.spare1 = spare1; - } - - public String getSpare1() - { - return spare1; - } - - public void setSpare2(String spare2) - { - this.spare2 = spare2; - } - - public String getSpare2() - { - return spare2; - } - - public void setSpare3(String spare3) - { - this.spare3 = spare3; - } - - public String getSpare3() - { - return spare3; - } - - public void setSpare4(String spare4) - { - this.spare4 = spare4; - } - - public String getSpare4() - { - return spare4; - } - - public void setSpare5(String spare5) - { - this.spare5 = spare5; - } - - public String getSpare5() - { - return spare5; - } - - public void setSpare6(String spare6) - { - this.spare6 = spare6; - } - - public String getSpare6() - { - return spare6; - } - - public void setProductId(String productId) + public void setProductId(String productId) { this.productId = productId; } - public String getProductId() + public String getProductId() { return productId; } - public void setProductName(String productName) + public void setProductName(String productName) { this.productName = productName; } - public String getProductName() + public String getProductName() { return productName; } - public void setVoltage(String voltage) + public void setGroupCodingNo(String groupCodingNo) { - this.voltage = voltage; + this.groupCodingNo = groupCodingNo; } - public String getVoltage() + public String getGroupCodingNo() { - return voltage; + return groupCodingNo; } - public void setPower(String power) + public void setQuantity(String quantity) { - this.power = power; + this.quantity = quantity; } - public String getPower() + public String getQuantity() { - return power; - } - - public void setPhase(String phase) - { - this.phase = phase; - } - - public String getPhase() - { - return phase; - } - - public void setNetWeight(String netWeight) - { - this.netWeight = netWeight; - } - - public String getNetWeight() - { - return netWeight; - } - - public void setGrossWeight(String grossWeight) - { - this.grossWeight = grossWeight; - } - - public String getGrossWeight() - { - return grossWeight; - } - - public void setDistribution(String distribution) - { - this.distribution = distribution; - } - - public String getDistribution() - { - return distribution; - } - - public void setModel(String model) - { - this.model = model; - } - - public String getModel() - { - return model; - } - - public void setOrderId(String orderId) - { - this.orderId = orderId; - } - - public String getOrderId() - { - return orderId; - } - - public void setSpare7(String spare7) - { - this.spare7 = spare7; - } - - public String getSpare7() - { - return spare7; - } - - public void setSpare8(String spare8) - { - this.spare8 = spare8; - } - - public String getSpare8() - { - return spare8; - } - - public void setCargoSpaceName(String cargoSpaceName) - { - this.cargoSpaceName = cargoSpaceName; - } - - public String getCargoSpaceName() - { - return cargoSpaceName; + return quantity; } @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("stockId", getStockId()) - .append("cargoSpaceId", getCargoSpaceId()) - .append("stockStatus", getStockStatus()) - .append("productStatus", getProductStatus()) - .append("lotNo", getLotNo()) - .append("inDate", getInDate()) - .append("backDate", getBackDate()) - .append("productGuid", getProductGuid()) - .append("quantity", getQuantity()) - .append("jobId", getJobId()) - .append("trayCode", getTrayCode()) - .append("outQuantity", getOutQuantity()) - .append("stockinDetailId", getStockinDetailId()) - .append("stockinId", getStockinId()) - .append("inType", getInType()) - .append("inClassId", getInClassId()) - .append("warehouseId", getWarehouseId()) - .append("stackingId", getStackingId()) - .append("spare1", getSpare1()) - .append("spare2", getSpare2()) - .append("spare3", getSpare3()) - .append("spare4", getSpare4()) - .append("spare5", getSpare5()) - .append("spare6", getSpare6()) + .append("onlyIdentity", getOnlyIdentity()) + .append("theColumn", getTheColumn()) + .append("theFloor", getTheFloor()) .append("productId", getProductId()) .append("productName", getProductName()) - .append("voltage", getVoltage()) - .append("power", getPower()) - .append("phase", getPhase()) - .append("netWeight", getNetWeight()) - .append("grossWeight", getGrossWeight()) - .append("distribution", getDistribution()) - .append("model", getModel()) - .append("orderId", getOrderId()) - .append("spare7", getSpare7()) - .append("spare8", getSpare8()) - .append("cargoSpaceName", getCargoSpaceName()) + .append("groupCodingNo", getGroupCodingNo()) + .append("quantity", getQuantity()) .toString(); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/mapper/ViewHandAllotStockMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/mapper/ViewHandAllotStockMapper.java index feac8ac..85c3983 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/mapper/ViewHandAllotStockMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/mapper/ViewHandAllotStockMapper.java @@ -4,58 +4,58 @@ import java.util.List; import com.ruoyi.out.handAllotStock.domain.ViewHandAllotStock; /** - * 手动分配库存Mapper接口 + * 指定出库Mapper接口 * * @author ruoyi - * @date 2025-09-16 + * @date 2025-12-09 */ public interface ViewHandAllotStockMapper { /** - * 查询手动分配库存 + * 查询指定出库 * - * @param stockId 手动分配库存主键 - * @return 手动分配库存 + * @param onlyIdentity 指定出库主键 + * @return 指定出库 */ - public ViewHandAllotStock selectViewHandAllotStockByStockId(String stockId); + public ViewHandAllotStock selectViewHandAllotStockByOnlyIdentity(Long onlyIdentity); /** - * 查询手动分配库存列表 + * 查询指定出库列表 * - * @param viewHandAllotStock 手动分配库存 - * @return 手动分配库存集合 + * @param viewHandAllotStock 指定出库 + * @return 指定出库集合 */ public List selectViewHandAllotStockList(ViewHandAllotStock viewHandAllotStock); /** - * 新增手动分配库存 + * 新增指定出库 * - * @param viewHandAllotStock 手动分配库存 + * @param viewHandAllotStock 指定出库 * @return 结果 */ public int insertViewHandAllotStock(ViewHandAllotStock viewHandAllotStock); /** - * 修改手动分配库存 + * 修改指定出库 * - * @param viewHandAllotStock 手动分配库存 + * @param viewHandAllotStock 指定出库 * @return 结果 */ public int updateViewHandAllotStock(ViewHandAllotStock viewHandAllotStock); /** - * 删除手动分配库存 + * 删除指定出库 * - * @param stockId 手动分配库存主键 + * @param onlyIdentity 指定出库主键 * @return 结果 */ - public int deleteViewHandAllotStockByStockId(String stockId); + public int deleteViewHandAllotStockByOnlyIdentity(Long onlyIdentity); /** - * 批量删除手动分配库存 + * 批量删除指定出库 * - * @param stockIds 需要删除的数据主键集合 + * @param onlyIdentitys 需要删除的数据主键集合 * @return 结果 */ - public int deleteViewHandAllotStockByStockIds(String[] stockIds); + public int deleteViewHandAllotStockByOnlyIdentitys(Long[] onlyIdentitys); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/service/IViewHandAllotStockService.java b/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/service/IViewHandAllotStockService.java index 7efad3c..44bd8b5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/service/IViewHandAllotStockService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/service/IViewHandAllotStockService.java @@ -4,58 +4,58 @@ import java.util.List; import com.ruoyi.out.handAllotStock.domain.ViewHandAllotStock; /** - * 手动分配库存Service接口 + * 指定出库Service接口 * * @author ruoyi - * @date 2025-09-16 + * @date 2025-12-09 */ public interface IViewHandAllotStockService { /** - * 查询手动分配库存 + * 查询指定出库 * - * @param stockId 手动分配库存主键 - * @return 手动分配库存 + * @param onlyIdentity 指定出库主键 + * @return 指定出库 */ - public ViewHandAllotStock selectViewHandAllotStockByStockId(String stockId); + public ViewHandAllotStock selectViewHandAllotStockByOnlyIdentity(Long onlyIdentity); /** - * 查询手动分配库存列表 + * 查询指定出库列表 * - * @param viewHandAllotStock 手动分配库存 - * @return 手动分配库存集合 + * @param viewHandAllotStock 指定出库 + * @return 指定出库集合 */ public List selectViewHandAllotStockList(ViewHandAllotStock viewHandAllotStock); /** - * 新增手动分配库存 + * 新增指定出库 * - * @param viewHandAllotStock 手动分配库存 + * @param viewHandAllotStock 指定出库 * @return 结果 */ public int insertViewHandAllotStock(ViewHandAllotStock viewHandAllotStock); /** - * 修改手动分配库存 + * 修改指定出库 * - * @param viewHandAllotStock 手动分配库存 + * @param viewHandAllotStock 指定出库 * @return 结果 */ public int updateViewHandAllotStock(ViewHandAllotStock viewHandAllotStock); /** - * 批量删除手动分配库存 + * 批量删除指定出库 * - * @param stockIds 需要删除的手动分配库存主键集合 + * @param onlyIdentitys 需要删除的指定出库主键集合 * @return 结果 */ - public int deleteViewHandAllotStockByStockIds(String[] stockIds); + public int deleteViewHandAllotStockByOnlyIdentitys(Long[] onlyIdentitys); /** - * 删除手动分配库存信息 + * 删除指定出库信息 * - * @param stockId 手动分配库存主键 + * @param onlyIdentity 指定出库主键 * @return 结果 */ - public int deleteViewHandAllotStockByStockId(String stockId); + public int deleteViewHandAllotStockByOnlyIdentity(Long onlyIdentity); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/service/impl/ViewHandAllotStockServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/service/impl/ViewHandAllotStockServiceImpl.java index 622b4f6..c7fc094 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/service/impl/ViewHandAllotStockServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/service/impl/ViewHandAllotStockServiceImpl.java @@ -8,10 +8,10 @@ import com.ruoyi.out.handAllotStock.domain.ViewHandAllotStock; import com.ruoyi.out.handAllotStock.service.IViewHandAllotStockService; /** - * 手动分配库存Service业务层处理 + * 指定出库Service业务层处理 * * @author ruoyi - * @date 2025-09-16 + * @date 2025-12-09 */ @Service public class ViewHandAllotStockServiceImpl implements IViewHandAllotStockService @@ -20,22 +20,22 @@ public class ViewHandAllotStockServiceImpl implements IViewHandAllotStockService private ViewHandAllotStockMapper viewHandAllotStockMapper; /** - * 查询手动分配库存 + * 查询指定出库 * - * @param stockId 手动分配库存主键 - * @return 手动分配库存 + * @param onlyIdentity 指定出库主键 + * @return 指定出库 */ @Override - public ViewHandAllotStock selectViewHandAllotStockByStockId(String stockId) + public ViewHandAllotStock selectViewHandAllotStockByOnlyIdentity(Long onlyIdentity) { - return viewHandAllotStockMapper.selectViewHandAllotStockByStockId(stockId); + return viewHandAllotStockMapper.selectViewHandAllotStockByOnlyIdentity(onlyIdentity); } /** - * 查询手动分配库存列表 + * 查询指定出库列表 * - * @param viewHandAllotStock 手动分配库存 - * @return 手动分配库存 + * @param viewHandAllotStock 指定出库 + * @return 指定出库 */ @Override public List selectViewHandAllotStockList(ViewHandAllotStock viewHandAllotStock) @@ -44,9 +44,9 @@ public class ViewHandAllotStockServiceImpl implements IViewHandAllotStockService } /** - * 新增手动分配库存 + * 新增指定出库 * - * @param viewHandAllotStock 手动分配库存 + * @param viewHandAllotStock 指定出库 * @return 结果 */ @Override @@ -56,9 +56,9 @@ public class ViewHandAllotStockServiceImpl implements IViewHandAllotStockService } /** - * 修改手动分配库存 + * 修改指定出库 * - * @param viewHandAllotStock 手动分配库存 + * @param viewHandAllotStock 指定出库 * @return 结果 */ @Override @@ -68,26 +68,26 @@ public class ViewHandAllotStockServiceImpl implements IViewHandAllotStockService } /** - * 批量删除手动分配库存 + * 批量删除指定出库 * - * @param stockIds 需要删除的手动分配库存主键 + * @param onlyIdentitys 需要删除的指定出库主键 * @return 结果 */ @Override - public int deleteViewHandAllotStockByStockIds(String[] stockIds) + public int deleteViewHandAllotStockByOnlyIdentitys(Long[] onlyIdentitys) { - return viewHandAllotStockMapper.deleteViewHandAllotStockByStockIds(stockIds); + return viewHandAllotStockMapper.deleteViewHandAllotStockByOnlyIdentitys(onlyIdentitys); } /** - * 删除手动分配库存信息 + * 删除指定出库信息 * - * @param stockId 手动分配库存主键 + * @param onlyIdentity 指定出库主键 * @return 结果 */ @Override - public int deleteViewHandAllotStockByStockId(String stockId) + public int deleteViewHandAllotStockByOnlyIdentity(Long onlyIdentity) { - return viewHandAllotStockMapper.deleteViewHandAllotStockByStockId(stockId); + return viewHandAllotStockMapper.deleteViewHandAllotStockByOnlyIdentity(onlyIdentity); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/stock/maintain/domain/BasStockMaintainRecord.java b/ruoyi-admin/src/main/java/com/ruoyi/stock/maintain/domain/BasStockMaintainRecord.java index 2666d8d..8184a50 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/stock/maintain/domain/BasStockMaintainRecord.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/stock/maintain/domain/BasStockMaintainRecord.java @@ -7,6 +7,7 @@ import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import org.springframework.format.annotation.DateTimeFormat; +import java.math.BigDecimal; import java.util.Date; /** @@ -55,11 +56,11 @@ public class BasStockMaintainRecord extends BaseEntity /** 初始数量 */ @Excel(name = "初始数量") - private String oldQuantity; + private BigDecimal oldQuantity; /** 操作后数量 */ @Excel(name = "操作后数量") - private String quantity; + private BigDecimal quantity; /** 操作 */ @Excel(name = "操作", dictType="stock_maintain_method") @@ -210,22 +211,22 @@ public class BasStockMaintainRecord extends BaseEntity return lotNo; } - public void setOldQuantity(String oldQuantity) + public void setOldQuantity(BigDecimal oldQuantity) { this.oldQuantity = oldQuantity; } - public String getOldQuantity() + public BigDecimal getOldQuantity() { return oldQuantity; } - public void setQuantity(String quantity) + public void setQuantity(BigDecimal quantity) { this.quantity = quantity; } - public String getQuantity() + public BigDecimal getQuantity() { return quantity; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/domain/BasStock.java b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/domain/BasStock.java index 353ae45..99b2cd2 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/domain/BasStock.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/domain/BasStock.java @@ -8,6 +8,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; +import java.math.BigDecimal; import java.util.List; /** @@ -81,7 +82,7 @@ public class BasStock extends BaseEntity { private String spare8; private String voltage; - + private String phase; private String netWeight; private String grossWeight; @@ -94,7 +95,7 @@ public class BasStock extends BaseEntity { * 库存数量 */ @Excel(name = "库存数量",sort=10) - private String quantity; + private BigDecimal quantity; /** * 作业ID @@ -153,7 +154,7 @@ public class BasStock extends BaseEntity { /** * 出库数量 */ - private String outQuantity; + private BigDecimal outQuantity; /** * 入库班组ID diff --git a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/impl/BasStockServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/impl/BasStockServiceImpl.java index 9ce3a4a..7fdb770 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/impl/BasStockServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/impl/BasStockServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.stock.stock.service.impl; import cn.hutool.core.util.IdUtil; +import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace; import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.core.domain.AjaxResult; @@ -125,8 +126,22 @@ public class BasStockServiceImpl implements IBasStockService public int updateBasStock(BasStock basStock) { BasStock oldBasStock = basStockMapper.selectBasStockByStockId(basStock.getStockId()); - insertMaintainRecord(oldBasStock,basStock,"2"); - insertFreezeRecord(oldBasStock,basStock); + //修改库存记录 + insertMaintainRecord(oldBasStock, basStock, "2"); + //修改冻结记录 + insertFreezeRecord(oldBasStock, basStock); + //修改货位 + if (!oldBasStock.getCargoSpaceId().equals(basStock.getCargoSpaceId())){ + BasCargoSpace oldBasCargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(oldBasStock.getCargoSpaceId()); + oldBasCargoSpace.setStatus("1"); + oldBasCargoSpace.setTrayCode(""); + basCargoSpaceService.updateBasCargoSpace(oldBasCargoSpace); + BasCargoSpace basCargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(basStock.getCargoSpaceId()); + basCargoSpace.setStatus("2"); + basCargoSpace.setTrayCode(oldBasCargoSpace.getTrayCode()); + basCargoSpaceService.updateBasCargoSpace(basCargoSpace); + } + //修改货位 return basStockMapper.updateBasStock(basStock); } diff --git a/ruoyi-admin/src/main/resources/mapper/bas/cargoSpace/BasCargoSpaceMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/cargoSpace/BasCargoSpaceMapper.xml index e2e793d..6526ff5 100644 --- a/ruoyi-admin/src/main/resources/mapper/bas/cargoSpace/BasCargoSpaceMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/bas/cargoSpace/BasCargoSpaceMapper.xml @@ -188,6 +188,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where cargo_space_id = #{cargoSpaceId} + + update bas_cargo_space + set locked = #{locked} + where group_coding_no in ( + select group_coding_no from bas_cargo_space where cargo_space_id = #{cargoSpaceId} + ) + and group_coding > #{groupCoding} + delete from bas_cargo_space where cargo_space_id = #{cargoSpaceId} diff --git a/ruoyi-admin/src/main/resources/mapper/job/MydoJobMapper.xml b/ruoyi-admin/src/main/resources/mapper/job/MydoJobMapper.xml index 2a1a76a..326c81d 100644 --- a/ruoyi-admin/src/main/resources/mapper/job/MydoJobMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/job/MydoJobMapper.xml @@ -217,8 +217,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - and stock_id = #{stockId} - and cargo_space_id = #{cargoSpaceId} - and cargo_space_name like concat('%', #{cargoSpaceName}, '%') - and stock_status = #{stockStatus} - and product_status = #{productStatus} - and lot_no = #{lotNo} - and in_date like concat('%', #{inDate}, '%') - and back_date = #{backDate} - and product_guid = #{productGuid} - and quantity = #{quantity} - and job_id = #{jobId} - and tray_code = #{trayCode} - and out_quantity = #{outQuantity} - and stockin_detail_id = #{stockinDetailId} - and stockin_id = #{stockinId} - and in_type = #{inType} - and in_class_id = #{inClassId} - and warehouse_id = #{warehouseId} - and stacking_id = #{stackingId} - and spare1 = #{spare1} - and spare2 = #{spare2} - and spare3 = #{spare3} - and spare4 = #{spare4} - and spare5 = #{spare5} - and spare6 = #{spare6} + and only_identity = #{onlyIdentity} + and the_column = #{theColumn} + and the_floor = #{theFloor} and product_id = #{productId} and product_name like concat('%', #{productName}, '%') - and voltage = #{voltage} - and power = #{power} - and phase = #{phase} - and net_weight = #{netWeight} - and gross_weight = #{grossWeight} - and distribution = #{distribution} - and model = #{model} - and order_id = #{orderId} - and spare7 = #{spare7} - and spare8 = #{spare8} - and cargo_space_name like concat('%', #{cargoSpaceName}, '%') + and group_coding_no = #{groupCodingNo} + and quantity = #{quantity} - - where stock_id = #{stockId} + where only_identity = #{onlyIdentity} insert into view_hand_allot_stock - stock_id, - cargo_space_id, - stock_status, - product_status, - lot_no, - in_date, - back_date, - product_guid, - quantity, - job_id, - tray_code, - out_quantity, - stockin_detail_id, - stockin_id, - in_type, - in_class_id, - warehouse_id, - stacking_id, - spare1, - spare2, - spare3, - spare4, - spare5, - spare6, + only_identity, + the_column, + the_floor, product_id, product_name, - voltage, - power, - phase, - net_weight, - gross_weight, - distribution, - model, - order_id, - spare7, - spare8, - cargo_space_name, + group_coding_no, + quantity, - #{stockId}, - #{cargoSpaceId}, - #{stockStatus}, - #{productStatus}, - #{lotNo}, - #{inDate}, - #{backDate}, - #{productGuid}, - #{quantity}, - #{jobId}, - #{trayCode}, - #{outQuantity}, - #{stockinDetailId}, - #{stockinId}, - #{inType}, - #{inClassId}, - #{warehouseId}, - #{stackingId}, - #{spare1}, - #{spare2}, - #{spare3}, - #{spare4}, - #{spare5}, - #{spare6}, + #{onlyIdentity}, + #{theColumn}, + #{theFloor}, #{productId}, #{productName}, - #{voltage}, - #{power}, - #{phase}, - #{netWeight}, - #{grossWeight}, - #{distribution}, - #{model}, - #{orderId}, - #{spare7}, - #{spare8}, - #{cargoSpaceName}, + #{groupCodingNo}, + #{quantity}, update view_hand_allot_stock - cargo_space_id = #{cargoSpaceId}, - stock_status = #{stockStatus}, - product_status = #{productStatus}, - lot_no = #{lotNo}, - in_date = #{inDate}, - back_date = #{backDate}, - product_guid = #{productGuid}, - quantity = #{quantity}, - job_id = #{jobId}, - tray_code = #{trayCode}, - out_quantity = #{outQuantity}, - stockin_detail_id = #{stockinDetailId}, - stockin_id = #{stockinId}, - in_type = #{inType}, - in_class_id = #{inClassId}, - warehouse_id = #{warehouseId}, - stacking_id = #{stackingId}, - spare1 = #{spare1}, - spare2 = #{spare2}, - spare3 = #{spare3}, - spare4 = #{spare4}, - spare5 = #{spare5}, - spare6 = #{spare6}, + the_column = #{theColumn}, + the_floor = #{theFloor}, product_id = #{productId}, product_name = #{productName}, - voltage = #{voltage}, - power = #{power}, - phase = #{phase}, - net_weight = #{netWeight}, - gross_weight = #{grossWeight}, - distribution = #{distribution}, - model = #{model}, - order_id = #{orderId}, - spare7 = #{spare7}, - spare8 = #{spare8}, - cargo_space_name = #{cargoSpaceName}, + group_coding_no = #{groupCodingNo}, + quantity = #{quantity}, - where stock_id = #{stockId} + where only_identity = #{onlyIdentity} - - delete from view_hand_allot_stock where stock_id = #{stockId} + + delete from view_hand_allot_stock where only_identity = #{onlyIdentity} - - delete from view_hand_allot_stock where stock_id in - - #{stockId} + + delete from view_hand_allot_stock where only_identity in + + #{onlyIdentity} \ No newline at end of file diff --git a/ruoyi-ui/src/api/job/OutmydoJob.js b/ruoyi-ui/src/api/job/OutmydoJob.js index ef56bc6..4115351 100644 --- a/ruoyi-ui/src/api/job/OutmydoJob.js +++ b/ruoyi-ui/src/api/job/OutmydoJob.js @@ -35,13 +35,13 @@ export function hangInvalidCheckJob(data) { }) } -export function pointOut(stockIds,exitId) { +export function pointOut(groupCodingNo, outQuantity) { return request({ url: '/job/outmydoJob/pointOut', method: 'get', params: { - stockIds: stockIds.join(',') ,// 将数组转换为逗号分隔的字符串 - exitId:exitId + groupCodingNo: groupCodingNo, + outQuantity: outQuantity } }) } diff --git a/ruoyi-ui/src/views/bas/cargoSpace/index.vue b/ruoyi-ui/src/views/bas/cargoSpace/index.vue index 3758c5e..d3a6d45 100644 --- a/ruoyi-ui/src/views/bas/cargoSpace/index.vue +++ b/ruoyi-ui/src/views/bas/cargoSpace/index.vue @@ -159,7 +159,7 @@ - + diff --git a/ruoyi-ui/src/views/job/outJobManagement.vue b/ruoyi-ui/src/views/job/outJobManagement.vue index 8b8c288..491351a 100644 --- a/ruoyi-ui/src/views/job/outJobManagement.vue +++ b/ruoyi-ui/src/views/job/outJobManagement.vue @@ -135,8 +135,8 @@ - - + + @@ -154,44 +154,13 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - + row.stockoutId), diff --git a/ruoyi-ui/src/views/stock/pointOut.vue b/ruoyi-ui/src/views/stock/pointOut.vue index f6549bc..b416cfc 100644 --- a/ruoyi-ui/src/views/stock/pointOut.vue +++ b/ruoyi-ui/src/views/stock/pointOut.vue @@ -1,36 +1,35 @@