feat(wms): 出库子表统计未出库的数量

dev
wanghao 2 weeks ago
parent 49675685e2
commit 11ab036e43

@ -1,26 +1,27 @@
package org.dromara.wms.controller; package org.dromara.wms.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*; import jakarta.servlet.http.HttpServletResponse;
import org.springframework.validation.annotation.Validated; import jakarta.validation.constraints.NotEmpty;
import org.dromara.common.idempotent.annotation.RepeatSubmit; import jakarta.validation.constraints.NotNull;
import org.dromara.common.log.annotation.Log; import lombok.RequiredArgsConstructor;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup; import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.wms.domain.vo.WmsOutStockDetailsVo; import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.wms.domain.bo.WmsOutStockDetailsBo; import org.dromara.common.log.annotation.Log;
import org.dromara.wms.service.IWmsOutStockDetailsService; import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.wms.domain.bo.WmsOutStockDetailsBo;
import org.dromara.wms.domain.vo.WmsOutStockDetailsVo;
import org.dromara.wms.service.IWmsOutStockDetailsService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
* *
@ -65,7 +66,7 @@ public class WmsOutStockDetailsController extends BaseController {
@SaCheckPermission("wms:outStockDetails:query") @SaCheckPermission("wms:outStockDetails:query")
@GetMapping("/{outStockDetailsId}") @GetMapping("/{outStockDetailsId}")
public R<WmsOutStockDetailsVo> getInfo(@NotNull(message = "主键不能为空") public R<WmsOutStockDetailsVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("outStockDetailsId") Long outStockDetailsId) { @PathVariable("outStockDetailsId") Long outStockDetailsId) {
return R.ok(wmsOutStockDetailsService.queryById(outStockDetailsId)); return R.ok(wmsOutStockDetailsService.queryById(outStockDetailsId));
} }
@ -113,4 +114,14 @@ public class WmsOutStockDetailsController extends BaseController {
return R.ok(list); return R.ok(list);
} }
/**
* ID
*
* @return
*/
@SaCheckPermission("wms:outStockDetails:query")
@GetMapping("/countUnOutStockDetails")
public R<WmsOutStockDetailsVo> countUnOutStockDetails(WmsOutStockDetailsBo bo) {
return R.ok(wmsOutStockDetailsService.countUnOutStockDetailsByInventoryDetailsId(bo));
}
} }

@ -1,5 +1,6 @@
package org.dromara.wms.service; package org.dromara.wms.service;
import jakarta.validation.constraints.NotNull;
import org.dromara.wms.domain.WmsOutStockDetails; import org.dromara.wms.domain.WmsOutStockDetails;
import org.dromara.wms.domain.vo.WmsOutStockDetailsVo; import org.dromara.wms.domain.vo.WmsOutStockDetailsVo;
import org.dromara.wms.domain.bo.WmsOutStockDetailsBo; import org.dromara.wms.domain.bo.WmsOutStockDetailsBo;
@ -68,4 +69,6 @@ public interface IWmsOutStockDetailsService {
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
List<WmsOutStockDetailsVo> queryListE(WmsOutStockDetailsBo bo); List<WmsOutStockDetailsVo> queryListE(WmsOutStockDetailsBo bo);
WmsOutStockDetailsVo countUnOutStockDetailsByInventoryDetailsId(WmsOutStockDetailsBo bo);
} }

@ -69,6 +69,7 @@ public class WmsOutStockDetailsServiceImpl implements IWmsOutStockDetailsService
MPJLambdaWrapper<WmsOutStockDetails> lqw = buildQueryWrapper(bo); MPJLambdaWrapper<WmsOutStockDetails> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw); return baseMapper.selectVoList(lqw);
} }
@Override @Override
public List<WmsOutStockDetailsVo> queryListE(WmsOutStockDetailsBo bo) { public List<WmsOutStockDetailsVo> queryListE(WmsOutStockDetailsBo bo) {
MPJLambdaWrapper<WmsOutStockDetails> lqw = buildQueryWrapperE(bo); MPJLambdaWrapper<WmsOutStockDetails> lqw = buildQueryWrapperE(bo);
@ -90,6 +91,7 @@ public class WmsOutStockDetailsServiceImpl implements IWmsOutStockDetailsService
.eq(bo.getOutStockBillId() != null, WmsOutStockDetails::getOutStockBillId, bo.getOutStockBillId()); .eq(bo.getOutStockBillId() != null, WmsOutStockDetails::getOutStockBillId, bo.getOutStockBillId());
return lqw; return lqw;
} }
private MPJLambdaWrapper<WmsOutStockDetails> buildQueryWrapperE(WmsOutStockDetailsBo bo) { private MPJLambdaWrapper<WmsOutStockDetails> buildQueryWrapperE(WmsOutStockDetailsBo bo) {
MPJLambdaWrapper<WmsOutStockDetails> lqw = JoinWrappers.lambda(WmsOutStockDetails.class) MPJLambdaWrapper<WmsOutStockDetails> lqw = JoinWrappers.lambda(WmsOutStockDetails.class)
.selectAll(WmsOutStockDetails.class) .selectAll(WmsOutStockDetails.class)
@ -97,8 +99,7 @@ public class WmsOutStockDetailsServiceImpl implements IWmsOutStockDetailsService
.select(WmsBaseProduct::getProductCode, WmsBaseProduct::getProductName, WmsBaseProduct::getExternalBrand, WmsBaseProduct::getProductSpe) .select(WmsBaseProduct::getProductCode, WmsBaseProduct::getProductName, WmsBaseProduct::getExternalBrand, WmsBaseProduct::getProductSpe)
.eq(bo.getOutStockBillId() != null, WmsOutStockDetails::getOutStockBillId, bo.getOutStockBillId()) .eq(bo.getOutStockBillId() != null, WmsOutStockDetails::getOutStockBillId, bo.getOutStockBillId())
.leftJoin(WmsInventoryDetails.class, WmsInventoryDetails::getInventoryDetailsId, WmsOutStockDetails::getInventoryDetailsId) .leftJoin(WmsInventoryDetails.class, WmsInventoryDetails::getInventoryDetailsId, WmsOutStockDetails::getInventoryDetailsId)
.select( WmsInventoryDetails::getInventoryAmount/*, WmsInventoryDetails::getLockedAmount*/) .select(WmsInventoryDetails::getInventoryAmount/*, WmsInventoryDetails::getLockedAmount*/);
;
return lqw; return lqw;
} }
@ -128,7 +129,6 @@ public class WmsOutStockDetailsServiceImpl implements IWmsOutStockDetailsService
} }
/** /**
* *
* *
@ -141,4 +141,23 @@ public class WmsOutStockDetailsServiceImpl implements IWmsOutStockDetailsService
return baseMapper.deleteByIds(ids) > 0; return baseMapper.deleteByIds(ids) > 0;
} }
/**
* ID
*
* @return
*/
@Override
public WmsOutStockDetailsVo countUnOutStockDetailsByInventoryDetailsId(WmsOutStockDetailsBo bo) {
return baseMapper.selectVoOne(
new MPJLambdaWrapper<WmsOutStockDetails>()
.selectSum(WmsOutStockDetails::getOutStockAmount)
.select(WmsOutStockDetails::getInventoryDetailsId)
.groupBy(WmsOutStockDetails::getInventoryDetailsId)
.eq(WmsOutStockDetails::getInventoryDetailsId, bo.getInventoryDetailsId())
.eq(WmsOutStockDetails::getOutState, "0")
// 排除当前出库单明细
.ne(bo.getOutStockDetailsId() != null, WmsOutStockDetails::getOutStockDetailsId, bo.getOutStockDetailsId())
);
}
} }

Loading…
Cancel
Save