增加 退库接口

master
wanghao 2 weeks ago
parent 051976983b
commit b152acfd47

@ -0,0 +1,39 @@
package org.dromara.wms.controller;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.web.core.BaseController;
import org.dromara.wms.domain.bo.WmsReturnOrderBo;
import org.dromara.wms.domain.vo.WmsOutstockRecordVo;
import org.dromara.wms.service.IWmsPdaApiService;
import org.dromara.wms.service.IWmsReturnOrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/pda")
public class WmsPdaApiController extends BaseController {
@Autowired
private IWmsPdaApiService apiService;
@Autowired
private IWmsReturnOrderService wmsReturnOrderService;
@PostMapping("/raw/returnSelectCode")
public R<WmsOutstockRecordVo> returnSelectCode(String code) {
WmsOutstockRecordVo wmsOutstockRecordVo = apiService.returnSelectCode(code);
if (wmsOutstockRecordVo == null) {
return R.fail("条码错误,不能退库");
}
return R.ok(wmsOutstockRecordVo);
}
@PostMapping("/raw/returnSubmit")
public R<Void> rawReturnSubmit( @RequestBody WmsReturnOrderBo bo) {
Boolean result = wmsReturnOrderService.insertByBo(bo);
if (result) {
apiService.rawReturnSubmitUpdateStateById(bo.getOutstockRecordId());
}
return toAjax(result);
}
}

@ -90,8 +90,7 @@ public class WmsMoveOrder{
* id
*/
private String tenantId;
@TableField(fill = FieldFill.INSERT)
private String createBy;
/**
*
@ -99,11 +98,6 @@ public class WmsMoveOrder{
@TableField(fill = FieldFill.INSERT)
private Date createTime;
/**
*
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private String updateBy;
/**
*

@ -92,4 +92,6 @@ public class WmsOutstockRecord extends TenantEntity {
@TableField(exist = false)
private java.math.BigDecimal returnQty;
private String returnFlag;
@TableField(exist = false)
private Long warehouseId;
}

@ -122,6 +122,6 @@ public class WmsReturnOrderBo extends BaseEntity{
private String tenantId;
private String materialCode;
private Long outstockRecordId;
}

@ -110,4 +110,6 @@ public class WmsOutstockRecordVo implements Serializable {
private String materialUnit;
private String materialSpec;
private String returnFlag;
private Long warehouseId;
}

@ -3,6 +3,7 @@ package org.dromara.wms.mapper;
import org.dromara.wms.domain.WmsOutstockRecord;
import org.dromara.wms.domain.vo.WmsOutstockRecordVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.springframework.stereotype.Repository;
/**
* Mapper
@ -10,6 +11,7 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
* @author Yinq
* @date 2025-01-09
*/
@Repository
public interface WmsOutstockRecordMapper extends BaseMapperPlus<WmsOutstockRecord, WmsOutstockRecordVo> {
}

@ -0,0 +1,9 @@
package org.dromara.wms.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@Repository
public interface WmsPdaApiMapper {
void rawReturnSubmitUpdateStateById(@Param("warehouseId") Long warehouseId);
}

@ -0,0 +1,9 @@
package org.dromara.wms.service;
import org.dromara.wms.domain.vo.WmsOutstockRecordVo;
public interface IWmsPdaApiService {
WmsOutstockRecordVo returnSelectCode(String code);
void rawReturnSubmitUpdateStateById(Long warehouseId);
}

@ -0,0 +1,46 @@
package org.dromara.wms.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import io.github.linpeilie.BaseMapper;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.wms.domain.BaseMaterialInfo;
import org.dromara.wms.domain.WmsBaseLocation;
import org.dromara.wms.domain.WmsBaseWarehouse;
import org.dromara.wms.domain.WmsOutstockRecord;
import org.dromara.wms.domain.vo.WmsOutstockRecordVo;
import org.dromara.wms.mapper.WmsOutstockRecordMapper;
import org.dromara.wms.mapper.WmsPdaApiMapper;
import org.dromara.wms.service.IWmsPdaApiService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class WmsPdaApiServiceImpl implements IWmsPdaApiService {
@Autowired
private WmsOutstockRecordMapper wmsOutstockRecordMapper;
@Autowired
private WmsPdaApiMapper apiMapper;
@Override
public WmsOutstockRecordVo returnSelectCode(String code) {
MPJLambdaWrapper<WmsOutstockRecord> lqw = JoinWrappers.lambda(WmsOutstockRecord.class)
.selectAll(WmsOutstockRecord.class)
.select(BaseMaterialInfo::getMaterialCode, BaseMaterialInfo::getMaterialName, BaseMaterialInfo::getMaterialUnit, BaseMaterialInfo::getMaterialSpec)
.leftJoin(BaseMaterialInfo.class, BaseMaterialInfo::getMaterialId, WmsOutstockRecord::getMaterialId)
.select(WmsBaseLocation::getWarehouseId)
.leftJoin(WmsBaseLocation.class,WmsBaseLocation::getLocationCode, WmsOutstockRecord::getLocationCode)
.eq(WmsOutstockRecord::getBatchCode, code)
.eq(WmsOutstockRecord::getReturnFlag, 0)
.orderByDesc(WmsOutstockRecord::getCreateTime);
return wmsOutstockRecordMapper.selectVoOne(lqw);
}
@Override
public void rawReturnSubmitUpdateStateById(Long warehouseId) {
apiMapper.rawReturnSubmitUpdateStateById(warehouseId);
}
}

@ -133,6 +133,7 @@ public class WmsReturnOrderServiceImpl implements IWmsReturnOrderService {
@Override
public Boolean insertByBo(WmsReturnOrderBo bo) {
WmsReturnOrder add = MapstructUtils.convert(bo, WmsReturnOrder.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.wms.mapper.WmsPdaApiMapper">
<update id="rawReturnSubmitUpdateStateById">
update wms_outstock_record set return_flag= '1' where outstock_record_id=#{warehouseId}
</update>
</mapper>
Loading…
Cancel
Save