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

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

@ -1,19 +1,17 @@
package com.glxp.sale.admin.controller.inventory; package com.glxp.sale.admin.controller.inventory;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.glxp.sale.admin.annotation.AuthRuleAnnotation; import com.glxp.sale.admin.annotation.AuthRuleAnnotation;
import com.glxp.sale.admin.entity.auth.AuthAdmin; import com.glxp.sale.admin.entity.auth.AuthAdmin;
import com.glxp.sale.admin.entity.inout.WarehouseBussinessTypeEntity; 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.InvSubWarehouseEntity;
import com.glxp.sale.admin.entity.inventory.InvWarehouseEntity; import com.glxp.sale.admin.entity.inventory.InvWarehouseEntity;
import com.glxp.sale.admin.req.info.DeleteRequest; import com.glxp.sale.admin.req.info.DeleteRequest;
import com.glxp.sale.admin.req.inventory.FilterInvSubWarehouseRequest; import com.glxp.sale.admin.req.inventory.FilterInvSubWarehouseRequest;
import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest; 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.auth.CustomerService;
import com.glxp.sale.admin.service.inout.WarehouseBussinessTypeService; 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.InvSubWarehouseService;
import com.glxp.sale.admin.service.inventory.InvWarehouseService; import com.glxp.sale.admin.service.inventory.InvWarehouseService;
import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.enums.ResultEnum;
@ -27,10 +25,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.Date;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
@RestController @RestController
public class InvSubWarehouseController { public class InvSubWarehouseController {
@ -43,6 +38,8 @@ public class InvSubWarehouseController {
CustomerService customerService; CustomerService customerService;
@Resource @Resource
WarehouseBussinessTypeService warehouseBussinessTypeService; WarehouseBussinessTypeService warehouseBussinessTypeService;
@Resource
private InvProductService invProductService;
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@GetMapping("spms/sub/inv/warehouse/filter") @GetMapping("spms/sub/inv/warehouse/filter")
@ -80,6 +77,11 @@ public class InvSubWarehouseController {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); 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(); FilterInvSubWarehouseRequest filterInvWarehouseRequest = new FilterInvSubWarehouseRequest();
filterInvWarehouseRequest.setParentId(invSubWarehouseEntity.getParentId()); filterInvWarehouseRequest.setParentId(invSubWarehouseEntity.getParentId());
@ -107,6 +109,13 @@ public class InvSubWarehouseController {
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); 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) { if (invSubWarehouseEntity.getId() == null) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
} }
@ -139,6 +148,13 @@ public class InvSubWarehouseController {
if (!warehouseBussinessTypeEntities.isEmpty()) { if (!warehouseBussinessTypeEntities.isEmpty()) {
return ResultVOUtils.error(500, "请先移除该仓库关联用户和单据类型!"); 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()); boolean b = invSubWarehouseService.deleteById(deleteRequest.getId());
if (!b) { if (!b) {

@ -34,4 +34,12 @@ public interface InvProductDao {
//库存统计查询 //库存统计查询
List<InvProductResponse> stockStatistics(FilterInvProductRequest filterInvProductRequest); 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; package com.glxp.sale.admin.dao.inventory;
import com.glxp.sale.admin.entity.inventory.InvSubWarehouseEntity; 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.FilterInvSubWarehouseRequest;
import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest; import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -29,4 +28,12 @@ public interface InvSubWarehouseDao {
boolean deleteByParentCode(@Param("code") String code); 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.entity.inventory.InvProductEntity;
import com.glxp.sale.admin.req.inventory.FilterInvProductRequest; import com.glxp.sale.admin.req.inventory.FilterInvProductRequest;
import com.glxp.sale.admin.res.inventory.InvProductResponse; import com.glxp.sale.admin.res.inventory.InvProductResponse;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -27,4 +26,13 @@ public interface InvProductService {
//库存统计 //库存统计
List<InvProductResponse> stockStatistics(FilterInvProductRequest filterInvProductRequest); 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; package com.glxp.sale.admin.service.inventory;
import com.glxp.sale.admin.entity.inventory.InvSubWarehouseEntity; 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.FilterInvSubWarehouseRequest;
import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest; import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest;
@ -29,4 +28,12 @@ public interface InvSubWarehouseService {
boolean deleteByParentCode(String code); 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(); 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.github.pagehelper.PageHelper;
import com.glxp.sale.admin.dao.inventory.InvSubWarehouseDao; import com.glxp.sale.admin.dao.inventory.InvSubWarehouseDao;
import com.glxp.sale.admin.entity.inventory.InvSubWarehouseEntity; 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.FilterInvSubWarehouseRequest;
import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest; import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest;
import com.glxp.sale.admin.service.inventory.InvSubWarehouseService; import com.glxp.sale.admin.service.inventory.InvSubWarehouseService;
@ -101,4 +100,13 @@ public class InvSubWarehouseServiceImpl implements InvSubWarehouseService {
public boolean deleteByParentCode(String code) { public boolean deleteByParentCode(String code) {
return invSubWarehouseDao.deleteByParentCode(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} WHERE id = #{id}
</update> </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> </mapper>

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