1.删除分库检查是否有库存,有库存不删除

2.添加分库时,检查名称重复
fencang
x_z 3 years ago
parent 549f07785e
commit 7c2dff03a6

@ -1,19 +1,17 @@
package com.glxp.sale.admin.controller.inventory;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.glxp.sale.admin.annotation.AuthRuleAnnotation;
import com.glxp.sale.admin.entity.auth.AuthAdmin;
import com.glxp.sale.admin.entity.inout.WarehouseBussinessTypeEntity;
import com.glxp.sale.admin.entity.inventory.InvProductDetailEntity;
import com.glxp.sale.admin.entity.inventory.InvSubWarehouseEntity;
import com.glxp.sale.admin.entity.inventory.InvWarehouseEntity;
import com.glxp.sale.admin.req.info.DeleteRequest;
import com.glxp.sale.admin.req.inventory.FilterInvSubWarehouseRequest;
import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest;
import com.glxp.sale.admin.res.inventory.InvWarehouseResponse;
import com.glxp.sale.admin.service.auth.CustomerService;
import com.glxp.sale.admin.service.inout.WarehouseBussinessTypeService;
import com.glxp.sale.admin.service.inventory.InvProductService;
import com.glxp.sale.admin.service.inventory.InvSubWarehouseService;
import com.glxp.sale.admin.service.inventory.InvWarehouseService;
import com.glxp.sale.common.enums.ResultEnum;
@ -27,10 +25,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
public class InvSubWarehouseController {
@ -43,6 +38,8 @@ public class InvSubWarehouseController {
CustomerService customerService;
@Resource
WarehouseBussinessTypeService warehouseBussinessTypeService;
@Resource
private InvProductService invProductService;
@AuthRuleAnnotation("")
@GetMapping("spms/sub/inv/warehouse/filter")
@ -80,6 +77,11 @@ public class InvSubWarehouseController {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
//判断分库名称在此仓库下是否重复
boolean exist = invSubWarehouseService.checkDuplicateName(invSubWarehouseEntity.getParentId(), invSubWarehouseEntity.getName());
if (exist) {
return ResultVOUtils.error(500, "分库名称已存在!");
}
FilterInvSubWarehouseRequest filterInvWarehouseRequest = new FilterInvSubWarehouseRequest();
filterInvWarehouseRequest.setParentId(invSubWarehouseEntity.getParentId());
@ -107,6 +109,13 @@ public class InvSubWarehouseController {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
//判断分库名称在此仓库下是否重复
boolean exist = invSubWarehouseService.checkDuplicateName(invSubWarehouseEntity.getParentId(), invSubWarehouseEntity.getName());
if (exist) {
return ResultVOUtils.error(500, "分库名称已存在!");
}
if (invSubWarehouseEntity.getId() == null) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
@ -139,6 +148,13 @@ public class InvSubWarehouseController {
if (!warehouseBussinessTypeEntities.isEmpty()) {
return ResultVOUtils.error(500, "请先移除该仓库关联用户和单据类型!");
}
//判断此分库中是否还有库存
InvSubWarehouseEntity invSubWarehouse = invSubWarehouseService.findById(deleteRequest.getId());
Integer count = invProductService.countByWarehouseCode(null, invSubWarehouse.getCode());
if (count > 0) {
return ResultVOUtils.error(500, "此分库存在库存,不能删除!");
}
boolean b = invSubWarehouseService.deleteById(deleteRequest.getId());
if (!b) {

@ -34,4 +34,12 @@ public interface InvProductDao {
//库存统计查询
List<InvProductResponse> stockStatistics(FilterInvProductRequest filterInvProductRequest);
/**
*
*
* @param warehouseCode
* @param subWarehouseCode
* @return
*/
Integer countByWarehouseCode(@Param("warehouseCode") String warehouseCode, @Param("subWarehouseCode") String subWarehouseCode);
}

@ -1,7 +1,6 @@
package com.glxp.sale.admin.dao.inventory;
import com.glxp.sale.admin.entity.inventory.InvSubWarehouseEntity;
import com.glxp.sale.admin.entity.inventory.InvWarehouseEntity;
import com.glxp.sale.admin.req.inventory.FilterInvSubWarehouseRequest;
import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest;
import org.apache.ibatis.annotations.Mapper;
@ -29,4 +28,12 @@ public interface InvSubWarehouseDao {
boolean deleteByParentCode(@Param("code") String code);
/**
* parentId
*
* @param parentId
* @param name
* @return
*/
int countByParentIdAndName(@Param("parentId") String parentId, @Param("name") String name);
}

@ -3,7 +3,6 @@ package com.glxp.sale.admin.service.inventory;
import com.glxp.sale.admin.entity.inventory.InvProductEntity;
import com.glxp.sale.admin.req.inventory.FilterInvProductRequest;
import com.glxp.sale.admin.res.inventory.InvProductResponse;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -27,4 +26,13 @@ public interface InvProductService {
//库存统计
List<InvProductResponse> stockStatistics(FilterInvProductRequest filterInvProductRequest);
/**
*
*
* @param warehouseCode
* @param subWarehouseCode
* @return
*/
Integer countByWarehouseCode(String warehouseCode, String subWarehouseCode);
}

@ -1,7 +1,6 @@
package com.glxp.sale.admin.service.inventory;
import com.glxp.sale.admin.entity.inventory.InvSubWarehouseEntity;
import com.glxp.sale.admin.entity.inventory.InvWarehouseEntity;
import com.glxp.sale.admin.req.inventory.FilterInvSubWarehouseRequest;
import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest;
@ -29,4 +28,12 @@ public interface InvSubWarehouseService {
boolean deleteByParentCode(String code);
/**
*
*
* @param parentId
* @param name
* @return
*/
boolean checkDuplicateName(String parentId, String name);
}

@ -118,4 +118,9 @@ public class InvProductServiceImpl implements InvProductService {
}
return Collections.emptyList();
}
@Override
public Integer countByWarehouseCode(String warehouseCode, String subWarehouseCode) {
return invProductDao.countByWarehouseCode(warehouseCode, subWarehouseCode);
}
}

@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.sale.admin.dao.inventory.InvSubWarehouseDao;
import com.glxp.sale.admin.entity.inventory.InvSubWarehouseEntity;
import com.glxp.sale.admin.entity.inventory.InvWarehouseEntity;
import com.glxp.sale.admin.req.inventory.FilterInvSubWarehouseRequest;
import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest;
import com.glxp.sale.admin.service.inventory.InvSubWarehouseService;
@ -101,4 +100,13 @@ public class InvSubWarehouseServiceImpl implements InvSubWarehouseService {
public boolean deleteByParentCode(String code) {
return invSubWarehouseDao.deleteByParentCode(code);
}
@Override
public boolean checkDuplicateName(String parentId, String name) {
int count = invSubWarehouseDao.countByParentIdAndName(parentId, name);
if (count > 0) {
return true;
}
return false;
}
}

@ -289,4 +289,15 @@
WHERE id = #{id}
</update>
<select id="countByWarehouseCode" resultType="java.lang.Integer">
select count(*) from inv_product
<where>
<if test="warehouseCode != null and warehouseCode != ''">
AND invStorageCode = #{warehouseCode}
</if>
<if test="subWarehouseCode != null and subWarehouseCode != ''">
AND invWarehouseCode = #{subWarehouseCode}
</if>
</where>
</select>
</mapper>

@ -119,4 +119,7 @@
</foreach>
</insert>
<select id="countByParentIdAndName" resultType="int">
select count(*) from inv_warehouse_sub where parentId = #{parentId} and name = #{name}
</select>
</mapper>
Loading…
Cancel
Save