1.修复盘点功能部分bug

feature-order-fix
x_z 2 years ago
parent 954b6bb5d1
commit 6f40183f82

@ -1,10 +1,12 @@
package com.glxp.api.admin.controller.inventory;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.annotation.AuthRuleAnnotation;
import com.glxp.api.admin.entity.auth.AuthAdmin;
import com.glxp.api.admin.entity.business.InvSpace;
import com.glxp.api.admin.entity.inout.WarehouseBussinessTypeEntity;
import com.glxp.api.admin.entity.inventory.InvSubWarehouseEntity;
import com.glxp.api.admin.entity.inventory.InvWarehouseEntity;
@ -19,6 +21,7 @@ import com.glxp.api.admin.service.auth.CustomerService;
import com.glxp.api.admin.service.inout.WarehouseBussinessTypeService;
import com.glxp.api.admin.service.inout.WarehouseUserService;
import com.glxp.api.admin.service.inventory.InvProductService;
import com.glxp.api.admin.service.inventory.InvSpaceService;
import com.glxp.api.admin.service.inventory.InvSubWarehouseService;
import com.glxp.api.admin.service.inventory.InvWarehouseService;
import com.glxp.api.common.enums.ResultEnum;
@ -50,6 +53,8 @@ public class InvSubWarehouseController {
private InvProductService invProductService;
@Resource
private WarehouseUserService warehouseUserService;
@Resource
private InvSpaceService invSpaceService;
@AuthRuleAnnotation("")
@GetMapping("spms/sub/inv/warehouse/filter")
@ -163,6 +168,12 @@ public class InvSubWarehouseController {
return ResultVOUtils.error(500, "此分库存在库存,不能删除!");
}
//判断此分库下是否有货位
List<InvSpace> spaceList = invSpaceService.findBySubWarehouseCode(invSubWarehouse.getCode());
if (CollUtil.isNotEmpty(spaceList)) {
return ResultVOUtils.error(500, "请先移除此分库下的货位!");
}
boolean b = invSubWarehouseService.deleteById(deleteRequest.getId());
if (!b) {

@ -59,4 +59,20 @@ public interface InvSpaceDao {
* @return
*/
String selectNameByCode(@Param("invStorageCode") String invStorageCode, @Param("invWarehouseCode") String invWarehouseCode, @Param("code") String code);
/**
*
*
* @param warehouseCode
* @return
*/
List<InvSpace> selectByWarehouseCode(String warehouseCode);
/**
*
*
* @param invSpace
* @return
*/
List<InvSpace> selectExist(InvSpace invSpace);
}

@ -83,4 +83,14 @@ public interface InvProductDetailDao {
* @return
*/
List<String> selectCodeByInvCodeAndProductId(@Param("invStorageCode") String invStorageCode, @Param("invWarehouseCode") String invWarehouseCode, @Param("invSpaceCode") String invSpaceCode, @Param("productId") String productId);
/**
*
*
* @param invStorageCode
* @param invWarehouseCode
* @param code
* @return
*/
Long countBySpaceCode(@Param("invStorageCode") String invStorageCode, @Param("invWarehouseCode") String invWarehouseCode, @Param("invSpaceCode") String invSpaceCode);
}

@ -42,4 +42,12 @@ public interface InvSpaceService {
BaseResponse updateSpace(InvSpace invSpace);
List<InvSpace> getSpaceCodeList(FilterInvSpaceRequest filterInvSpaceRequest);
/**
*
*
* @param code
* @return
*/
List<InvSpace> findBySubWarehouseCode(String code);
}

@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.api.admin.dao.business.InvSpaceDao;
import com.glxp.api.admin.dao.inventory.InvCountOrderDao;
import com.glxp.api.admin.dao.inventory.InvProductDetailDao;
import com.glxp.api.admin.entity.auth.AuthAdmin;
import com.glxp.api.admin.entity.business.InvSpace;
import com.glxp.api.admin.req.inventory.FilterInvSpaceRequest;
@ -34,6 +35,8 @@ public class InvSpaceServiceImpl implements InvSpaceService {
private InvCountOrderDao invCountOrderDao;
@Resource
private CustomerService customerService;
@Resource
private InvProductDetailDao invProductDetailDao;
@Override
public List<InvSpaceResponse> filterList(FilterInvSpaceRequest filterInvSpaceRequest) {
@ -48,9 +51,9 @@ public class InvSpaceServiceImpl implements InvSpaceService {
@Override
public BaseResponse addSpace(InvSpace invSpace) {
BaseResponse PARAM_VERIFY_FALL = verifySpaceParams(invSpace);
if (PARAM_VERIFY_FALL.getCode() != 20000) {
return PARAM_VERIFY_FALL;
BaseResponse verifyResult = verifySpaceParams(invSpace);
if (verifyResult.getCode() != 20000) {
return verifyResult;
}
String result = verifyExist(invSpace);
if (!"success".equals(result)) {
@ -88,6 +91,14 @@ public class InvSpaceServiceImpl implements InvSpaceService {
//校验此货位是否已经被使用,如果已经被使用,不能删除
Integer spaceId = Integer.valueOf(id);
InvSpace invSpace = invSpaceDao.selectByPrimaryKey(spaceId);
//判断此货位是否与库存绑定,如果与库存绑定,则无法删除
Long detailCount = invProductDetailDao.countBySpaceCode(invSpace.getInvStorageCode(), invSpace.getInvWarehouseCode(), invSpace.getCode());
if (detailCount > 0) {
return ResultVOUtils.error(ResultEnum.DATA_REPEAT, "此货位已被使用,无法删除!");
}
//判断此货位是否已经被盘点单使用,如果有,则无法删除
Integer count = invCountOrderDao.countBySpaceCode(invSpace.getInvStorageCode(), invSpace.getInvWarehouseCode(), invSpace.getCode());
if (count > 0) {
return ResultVOUtils.error(ResultEnum.DATA_REPEAT, "此货位已被使用,无法删除!");
@ -118,6 +129,11 @@ public class InvSpaceServiceImpl implements InvSpaceService {
return invSpaceDao.selectSpaceCodeList(filterInvSpaceRequest);
}
@Override
public List<InvSpace> findBySubWarehouseCode(String code) {
return invSpaceDao.selectByWarehouseCode(code);
}
/**
*
*
@ -125,14 +141,14 @@ public class InvSpaceServiceImpl implements InvSpaceService {
* @return
*/
public String verifyExist(InvSpace invSpace) {
List<InvSpace> list = invSpaceDao.selectList(invSpace);
List<InvSpace> list = invSpaceDao.selectExist(invSpace);
if (CollUtil.isNotEmpty(list)) {
if (null == invSpace.getId()) {
return "已有相同数据";
return "货位信息已存在";
}
for (InvSpace space : list) {
if (!space.getId().equals(invSpace.getId())) {
return "已有相同数据";
return "货位信息已存在";
}
}
}

@ -332,4 +332,26 @@
and invWarehouseCode = #{invWarehouseCode}
and code = #{code}
</select>
<select id="selectByWarehouseCode" resultMap="BaseResultMap">
select * from inv_space where invWarehouseCode = #{warehouseCode}
</select>
<select id="selectExist" resultMap="BaseResultMap">
select * from inv_space
<where>
<if test="invStorageCode != null and invStorageCode != ''">
AND invStorageCode = #{invStorageCode}
</if>
<if test="invWarehouseCode != null and invWarehouseCode != ''">
AND invWarehouseCode = #{invWarehouseCode}
</if>
<if test="code != null and code != ''">
AND code = #{code}
</if>
<if test="name != null and name != ''">
AND name = #{name}
</if>
</where>
</select>
</mapper>

@ -415,4 +415,12 @@
</if>
</where>
</select>
<select id="countBySpaceCode" resultType="java.lang.Long">
select count(*)
from inv_product_detail
where invStorageCode = #{invStorageCode}
and invWarehouseCode = #{invWarehouseCode}
and invSpaceCode = #{invSpaceCode}
</select>
</mapper>
Loading…
Cancel
Save