增加 原材料入库接口

master
wanghao 4 days ago
parent 9e00eea476
commit c3b3595345

@ -21,7 +21,11 @@
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>ruoyi-common-nacos</artifactId> <artifactId>ruoyi-common-nacos</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.27</version>
</dependency>
<dependency> <dependency>
<groupId>org.dromara</groupId> <groupId>org.dromara</groupId>
<artifactId>ruoyi-common-sentinel</artifactId> <artifactId>ruoyi-common-sentinel</artifactId>

@ -3,13 +3,17 @@ package org.dromara.wms.controller;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.dromara.wms.domain.WmsBaseLocation;
import org.dromara.wms.domain.WmsHppStorageDetail; 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.bo.WmsReturnOrderBo;
import org.dromara.wms.domain.vo.*; import org.dromara.wms.domain.vo.*;
import org.dromara.wms.service.*; import org.dromara.wms.service.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
@RequiredArgsConstructor @RequiredArgsConstructor
@RestController @RestController
@RequestMapping("/pda") @RequestMapping("/pda")
@ -24,7 +28,6 @@ public class WmsPdaApiController extends BaseController {
/** /**
* 退- * 退-
*
*/ */
@PostMapping("/raw/returnSelectCode") @PostMapping("/raw/returnSelectCode")
public R<WmsOutstockRecordVo> returnSelectCode(String code) { public R<WmsOutstockRecordVo> returnSelectCode(String code) {
@ -47,6 +50,27 @@ public class WmsPdaApiController extends BaseController {
} }
return toAjax(result); return toAjax(result);
} }
private final IWmsBaseLocationService baseLocationService;
@PostMapping("/raw/inSelectCode")
public R<WmsInstockPrintVo> inSelectCode(String code) {
WmsInstockPrintVo wmsInstockPrintVo = apiService.inSelectCode(code);
if (wmsInstockPrintVo == null) {
R.fail();
}
return R.ok(wmsInstockPrintVo);
}
@PostMapping("/raw/inSubmit")
public R<Void> 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 * @param vo info
*/ */
@PostMapping("/product/submitInStoreInfo") @PostMapping("/product/submitInStoreInfo")
@ -97,11 +122,12 @@ public class WmsPdaApiController extends BaseController {
/** /**
* *
*
* @param code * @param code
*/ */
@PostMapping("/semi/selectVehicleInfo") @PostMapping("/semi/selectVehicleInfo")
public R<WmsHppInStockDetailVo> semiSelectVehicleInfo(String code) { public R<WmsHppInStockDetailVo> semiSelectVehicleInfo(String code) {
WmsHppInStockDetailVo wmsHppInStockDetailVo=apiService.semiSelectVehicleInfo(code); WmsHppInStockDetailVo wmsHppInStockDetailVo = apiService.semiSelectVehicleInfo(code);
if (wmsHppInStockDetailVo == null) { if (wmsHppInStockDetailVo == null) {
return R.fail("载具没有绑定物料,或者载具编码扫描错误"); return R.fail("载具没有绑定物料,或者载具编码扫描错误");
} }
@ -112,6 +138,7 @@ public class WmsPdaApiController extends BaseController {
/** /**
* *
*
* @param vo xinx * @param vo xinx
*/ */
@PostMapping("/semi/submitInstore") @PostMapping("/semi/submitInstore")
@ -128,12 +155,13 @@ public class WmsPdaApiController extends BaseController {
/** /**
* *
*
* @param code * @param code
* @return WmsHppStorageDetailVo * @return WmsHppStorageDetailVo
*/ */
@PostMapping("/semi/selectHppStorageInfo") @PostMapping("/semi/selectHppStorageInfo")
public R<WmsHppStorageDetailVo> selectHppStorageDetailInfobyCode(String code) { public R<WmsHppStorageDetailVo> selectHppStorageDetailInfobyCode(String code) {
WmsHppStorageDetailVo wmsHppStorageDetailVo= apiService.selectHppStorageDetailInfobyCode(code); WmsHppStorageDetailVo wmsHppStorageDetailVo = apiService.selectHppStorageDetailInfobyCode(code);
if (wmsHppStorageDetailVo == null) { if (wmsHppStorageDetailVo == null) {
return R.fail("流水卡号错误,或者库存消耗完毕"); return R.fail("流水卡号错误,或者库存消耗完毕");
} }

@ -105,6 +105,14 @@ public class WmsInstockPrintVo implements Serializable {
*/ */
private String tenantId; private String tenantId;
/**
*
*/
private String locationCode;
/**
*
*/
private Double instockQty;
} }

@ -1,5 +1,6 @@
package org.dromara.wms.mapper; package org.dromara.wms.mapper;
import org.apache.ibatis.annotations.Select;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.wms.domain.WmsInstockPrint; import org.dromara.wms.domain.WmsInstockPrint;
import org.dromara.wms.domain.vo.WmsInstockPrintVo; import org.dromara.wms.domain.vo.WmsInstockPrintVo;
@ -11,5 +12,8 @@ import org.dromara.wms.domain.vo.WmsInstockPrintVo;
* @date 2025-01-07 * @date 2025-01-07
*/ */
public interface WmsInstockPrintMapper extends BaseMapperPlus<WmsInstockPrint, WmsInstockPrintVo> { public interface WmsInstockPrintMapper extends BaseMapperPlus<WmsInstockPrint, WmsInstockPrintVo> {
@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);
} }

@ -67,4 +67,6 @@ public interface IWmsBaseLocationService {
* @return * @return
*/ */
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
WmsBaseLocationVo selectLocationVoByCode(String code);
} }

@ -1,9 +1,6 @@
package org.dromara.wms.service; package org.dromara.wms.service;
import org.dromara.wms.domain.vo.WmsHppInStockDetailVo; import org.dromara.wms.domain.vo.*;
import org.dromara.wms.domain.vo.WmsHppStorageDetailVo;
import org.dromara.wms.domain.vo.WmsOutstockRecordVo;
import org.dromara.wms.domain.vo.WmsPsmInLoadVo;
import java.util.List; import java.util.List;
@ -25,4 +22,8 @@ public interface IWmsPdaApiService {
WmsHppStorageDetailVo selectHppStorageDetailInfobyCode(String code); WmsHppStorageDetailVo selectHppStorageDetailInfobyCode(String code);
Boolean semiSubmitOutInfo(WmsHppStorageDetailVo vo); Boolean semiSubmitOutInfo(WmsHppStorageDetailVo vo);
WmsInstockPrintVo inSelectCode(String code);
Boolean inSubmit(WmsInstockPrintVo vo);
} }

@ -145,4 +145,14 @@ public class WmsBaseLocationServiceImpl implements IWmsBaseLocationService {
} }
return baseMapper.deleteByIds(ids) > 0; return baseMapper.deleteByIds(ids) > 0;
} }
@Override
public WmsBaseLocationVo selectLocationVoByCode(String code) {
MPJLambdaWrapper<WmsBaseLocation> 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);
}
} }

@ -10,10 +10,12 @@ import org.dromara.common.core.utils.DateUtils;
import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.translation.annotation.Translation; import org.dromara.common.translation.annotation.Translation;
import org.dromara.wms.domain.*; import org.dromara.wms.domain.*;
import org.dromara.wms.domain.bo.WmsInstockRecordBo;
import org.dromara.wms.domain.vo.*; import org.dromara.wms.domain.vo.*;
import org.dromara.wms.mapper.*; import org.dromara.wms.mapper.*;
import org.dromara.wms.service.IWmsPdaApiService; import org.dromara.wms.service.IWmsPdaApiService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.parsing.BeanEntry;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
@ -29,6 +31,9 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService {
private final WmsPsmInStockMapper wmsPsmInStockMapper; private final WmsPsmInStockMapper wmsPsmInStockMapper;
private final WmsPsmInLoadDetailMapper wmsPsmInLoadDetailMapper; private final WmsPsmInLoadDetailMapper wmsPsmInLoadDetailMapper;
@Override @Override
public WmsOutstockRecordVo returnSelectCode(String code) { public WmsOutstockRecordVo returnSelectCode(String code) {
MPJLambdaWrapper<WmsOutstockRecord> lqw = JoinWrappers.lambda(WmsOutstockRecord.class) MPJLambdaWrapper<WmsOutstockRecord> lqw = JoinWrappers.lambda(WmsOutstockRecord.class)
@ -163,4 +168,20 @@ public class WmsPdaApiServiceImpl implements IWmsPdaApiService {
hppOutStockDetailMapper.insert(outStockDetail); hppOutStockDetailMapper.insert(outStockDetail);
return true; 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;
}
} }

Loading…
Cancel
Save