diff --git a/ruoyi-modules/hwmom-wms/pom.xml b/ruoyi-modules/hwmom-wms/pom.xml index bd7e65db..e9c20e02 100644 --- a/ruoyi-modules/hwmom-wms/pom.xml +++ b/ruoyi-modules/hwmom-wms/pom.xml @@ -21,7 +21,11 @@ org.dromara ruoyi-common-nacos - + + org.apache.pdfbox + pdfbox + 2.0.27 + org.dromara ruoyi-common-sentinel diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsPdaApiController.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsPdaApiController.java index 3d3bf939..1e414f4f 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsPdaApiController.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsPdaApiController.java @@ -3,13 +3,17 @@ package org.dromara.wms.controller; import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; import org.dromara.common.web.core.BaseController; +import org.dromara.wms.domain.WmsBaseLocation; import org.dromara.wms.domain.WmsHppStorageDetail; +import org.dromara.wms.domain.WmsInstockPrint; +import org.dromara.wms.domain.bo.WmsInstockPrintBo; import org.dromara.wms.domain.bo.WmsReturnOrderBo; import org.dromara.wms.domain.vo.*; import org.dromara.wms.service.*; import org.springframework.web.bind.annotation.*; import java.util.List; + @RequiredArgsConstructor @RestController @RequestMapping("/pda") @@ -24,7 +28,6 @@ public class WmsPdaApiController extends BaseController { /** * 原材料退库-现场扫描 - * */ @PostMapping("/raw/returnSelectCode") public R returnSelectCode(String code) { @@ -47,6 +50,27 @@ public class WmsPdaApiController extends BaseController { } return toAjax(result); } + private final IWmsBaseLocationService baseLocationService; + @PostMapping("/raw/inSelectCode") + public R inSelectCode(String code) { + + WmsInstockPrintVo wmsInstockPrintVo = apiService.inSelectCode(code); + if (wmsInstockPrintVo == null) { + R.fail(); + } + return R.ok(wmsInstockPrintVo); + + } + + @PostMapping("/raw/inSubmit") + public R inSubmit(@RequestBody WmsInstockPrintVo vo) { + WmsBaseLocationVo wmsBaseLocationVo=baseLocationService.selectLocationVoByCode( vo.getLocationCode()); + if (wmsBaseLocationVo == null) { + return R.fail("库位条码扫描错误"); + } + Boolean result = apiService.inSubmit(vo); + return result ? R.ok() : R.fail(); + } /** * 成品跟载具绑定 @@ -80,6 +104,7 @@ public class WmsPdaApiController extends BaseController { /** * 成品入库提交信息 + * * @param vo info */ @PostMapping("/product/submitInStoreInfo") @@ -97,11 +122,12 @@ public class WmsPdaApiController extends BaseController { /** * 半成品入库 + * * @param code 载具 */ @PostMapping("/semi/selectVehicleInfo") public R semiSelectVehicleInfo(String code) { - WmsHppInStockDetailVo wmsHppInStockDetailVo=apiService.semiSelectVehicleInfo(code); + WmsHppInStockDetailVo wmsHppInStockDetailVo = apiService.semiSelectVehicleInfo(code); if (wmsHppInStockDetailVo == null) { return R.fail("载具没有绑定物料,或者载具编码扫描错误"); } @@ -112,6 +138,7 @@ public class WmsPdaApiController extends BaseController { /** * 半成品入库提交 + * * @param vo xinx */ @PostMapping("/semi/submitInstore") @@ -128,12 +155,13 @@ public class WmsPdaApiController extends BaseController { /** * 查询半成品库存信息 + * * @param code 流水卡号 * @return WmsHppStorageDetailVo */ @PostMapping("/semi/selectHppStorageInfo") public R selectHppStorageDetailInfobyCode(String code) { - WmsHppStorageDetailVo wmsHppStorageDetailVo= apiService.selectHppStorageDetailInfobyCode(code); + WmsHppStorageDetailVo wmsHppStorageDetailVo = apiService.selectHppStorageDetailInfobyCode(code); if (wmsHppStorageDetailVo == null) { return R.fail("流水卡号错误,或者库存消耗完毕"); } @@ -143,7 +171,7 @@ public class WmsPdaApiController extends BaseController { @PostMapping("/semi/submitOutInfo") public R semiSubmitOutInfo(@RequestBody WmsHppStorageDetailVo vo) { - Boolean result = apiService.semiSubmitOutInfo(vo); + Boolean result = apiService.semiSubmitOutInfo(vo); return result ? R.ok() : R.fail(); } } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsInstockPrintVo.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsInstockPrintVo.java index bfe1e261..6243e511 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsInstockPrintVo.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsInstockPrintVo.java @@ -105,6 +105,14 @@ public class WmsInstockPrintVo implements Serializable { */ private String tenantId; + /** + * 库位编码 + */ + private String locationCode; + /** + * 入库数量 + */ + private Double instockQty; } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsInstockPrintMapper.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsInstockPrintMapper.java index 6eb5f1b7..520e8b96 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsInstockPrintMapper.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/mapper/WmsInstockPrintMapper.java @@ -1,5 +1,6 @@ package org.dromara.wms.mapper; +import org.apache.ibatis.annotations.Select; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.wms.domain.WmsInstockPrint; import org.dromara.wms.domain.vo.WmsInstockPrintVo; @@ -11,5 +12,8 @@ import org.dromara.wms.domain.vo.WmsInstockPrintVo; * @date 2025-01-07 */ public interface WmsInstockPrintMapper extends BaseMapperPlus { - + @Select("select top 1 material_spe,batch_code,material_categories,material_code,material_name,unit_name,\n" + + " material_id,instock_print_id,apportion_qty,instock_code,material_qty\n" + + "from wms_instock_print where batch_code=#{code}") + WmsInstockPrintVo inSelectCode(String code); } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsBaseLocationService.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsBaseLocationService.java index 68fee423..c4cdfe02 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsBaseLocationService.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsBaseLocationService.java @@ -67,4 +67,6 @@ public interface IWmsBaseLocationService { * @return 是否删除成功 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + WmsBaseLocationVo selectLocationVoByCode(String code); } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsPdaApiService.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsPdaApiService.java index eb1da3b3..e260b653 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsPdaApiService.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsPdaApiService.java @@ -1,9 +1,6 @@ package org.dromara.wms.service; -import org.dromara.wms.domain.vo.WmsHppInStockDetailVo; -import org.dromara.wms.domain.vo.WmsHppStorageDetailVo; -import org.dromara.wms.domain.vo.WmsOutstockRecordVo; -import org.dromara.wms.domain.vo.WmsPsmInLoadVo; +import org.dromara.wms.domain.vo.*; import java.util.List; @@ -25,4 +22,8 @@ public interface IWmsPdaApiService { WmsHppStorageDetailVo selectHppStorageDetailInfobyCode(String code); Boolean semiSubmitOutInfo(WmsHppStorageDetailVo vo); + + WmsInstockPrintVo inSelectCode(String code); + + Boolean inSubmit(WmsInstockPrintVo vo); } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsBaseLocationServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsBaseLocationServiceImpl.java index 4c898947..1027233e 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsBaseLocationServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsBaseLocationServiceImpl.java @@ -145,4 +145,14 @@ public class WmsBaseLocationServiceImpl implements IWmsBaseLocationService { } return baseMapper.deleteByIds(ids) > 0; } + + @Override + public WmsBaseLocationVo selectLocationVoByCode(String code) { + MPJLambdaWrapper lqw = JoinWrappers.lambda(WmsBaseLocation.class) + .selectAll(WmsBaseLocation.class) + .select(WmsBaseWarehouse::getWarehouseName,WmsBaseWarehouse::getWarehouseCode) + .leftJoin(WmsBaseWarehouse.class,WmsBaseWarehouse::getWarehouseId,WmsBaseLocation::getWarehouseId) + .eq( WmsBaseLocation::getLocationCode, code); + return baseMapper.selectVoOne(lqw); + } } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java index 36b2c908..df047341 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsPdaApiServiceImpl.java @@ -10,10 +10,12 @@ import org.dromara.common.core.utils.DateUtils; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.translation.annotation.Translation; import org.dromara.wms.domain.*; +import org.dromara.wms.domain.bo.WmsInstockRecordBo; import org.dromara.wms.domain.vo.*; import org.dromara.wms.mapper.*; import org.dromara.wms.service.IWmsPdaApiService; import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.parsing.BeanEntry; import org.springframework.stereotype.Service; import java.util.List; @@ -29,6 +31,9 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService { private final WmsPsmInStockMapper wmsPsmInStockMapper; private final WmsPsmInLoadDetailMapper wmsPsmInLoadDetailMapper; + + + @Override public WmsOutstockRecordVo returnSelectCode(String code) { MPJLambdaWrapper lqw = JoinWrappers.lambda(WmsOutstockRecord.class) @@ -163,4 +168,20 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService { hppOutStockDetailMapper.insert(outStockDetail); return true; } + private final WmsInstockPrintMapper wmsInstockPrintMapper; + @Override + public WmsInstockPrintVo inSelectCode(String code) { + return wmsInstockPrintMapper.inSelectCode(code); + } + private final WmsInstockRecordMapper wmsInstockRecordMapper; + @Override + public Boolean inSubmit(WmsInstockPrintVo vo) { + // 插入记录 + WmsInstockRecord wmsInstockRecord = new WmsInstockRecord(); + BeanUtils.copyProperties(vo, wmsInstockRecord); + wmsInstockRecordMapper.insert(wmsInstockRecord); + // 插入库存 + + return true; + } }