diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvSubWarehouseController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvSubWarehouseController.java index 01d9f9b0..3f8df0e7 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvSubWarehouseController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvSubWarehouseController.java @@ -17,6 +17,7 @@ import com.glxp.api.admin.res.inventory.InvSubWarehouseResponse; import com.glxp.api.admin.res.inventory.InvWarehouseThirdSysResponse; 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.InvSubWarehouseService; import com.glxp.api.admin.service.inventory.InvWarehouseService; @@ -47,6 +48,8 @@ public class InvSubWarehouseController { WarehouseBussinessTypeService warehouseBussinessTypeService; @Resource private InvProductService invProductService; + @Resource + private WarehouseUserService warehouseUserService; @AuthRuleAnnotation("") @GetMapping("spms/sub/inv/warehouse/filter") @@ -143,11 +146,9 @@ public class InvSubWarehouseController { InvSubWarehouseEntity invSubWarehouseEntity = invSubWarehouseService.findById(deleteRequest.getId()); - FilterInvWarehouseRequest filterInvWarehouseRequest = new FilterInvWarehouseRequest(); - filterInvWarehouseRequest.setCode(invSubWarehouseEntity.getParentId()); - List warehouseEntities = invWarehouseService.filterAllByUser(filterInvWarehouseRequest); - if (!warehouseEntities.isEmpty()) { - return ResultVOUtils.error(500, "请先移除该仓库关联用户和单据类型!"); + Integer userCount = warehouseUserService.countUserBySubInvCode(invSubWarehouseEntity.getCode()); + if (userCount > 0) { + return ResultVOUtils.error(500, "请先移除该仓库关联用户!"); } List warehouseBussinessTypeEntities = warehouseBussinessTypeService.getListByCode(invSubWarehouseEntity.getCode()); diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessTypeDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessTypeDao.java index 69ec30f8..15d346f9 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessTypeDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessTypeDao.java @@ -61,4 +61,12 @@ public interface BussinessTypeDao { * @return */ String selectInoutTypebByLocalAction(@Param("localAction") String localAction); + + /** + * 根据业务单据号查询补单类型 + * + * @param stockOrderBillNo + * @return + */ + String selectSupplementTypeByBillNo(@Param("stockOrderBillNo") String stockOrderBillNo); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/WarehouseUserDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/WarehouseUserDao.java index 5d3f395a..7720be50 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/WarehouseUserDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/WarehouseUserDao.java @@ -52,4 +52,12 @@ public interface WarehouseUserDao { * @param isDirector */ void updateDirectorById(@Param("id") Integer id, @Param("isDirector") int isDirector); + + /** + * 根据分仓编码统计绑定的用户数 + * + * @param code + * @return + */ + Integer countByCode(@Param("code") String code); } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/WarehouseUserService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/WarehouseUserService.java index 3c1d6035..42242e83 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/WarehouseUserService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/WarehouseUserService.java @@ -57,4 +57,11 @@ public interface WarehouseUserService { */ List getWarehouseUserList(FilterInvLinkDataRequest filterInvLinkDataRequest); + /** + * 根据分仓编码,统计用户数量 + * + * @param subInvCode + * @return + */ + Integer countUserBySubInvCode(String subInvCode); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java index b4ffdb15..5c05ae22 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java @@ -338,7 +338,7 @@ public class OrderServiceImpl implements OrderService { stockOrderEntityList.forEach(stockOrderEntity -> { StockOrderResponse response = new StockOrderResponse(); BeanUtil.copyProperties(stockOrderEntity, response); - if (stockOrderEntity.getStatus().equals(ConstantStatus.SORDER_DELIVER)) { + if (stockOrderEntity.getStatus().equals(ConstantStatus.SORDER_DELIVER) && checkBusTypeSupplementOrder(stockOrderEntity.getBillNo())) { response.setEnableSupplementOrder(true); } result.add(response); @@ -346,6 +346,20 @@ public class OrderServiceImpl implements OrderService { return result; } + /** + * 校验扫码单据类型是否绑定了补单类型 + * + * @param stockOrderBillNo 业务单据号 + * @return + */ + boolean checkBusTypeSupplementOrder(String stockOrderBillNo) { + String supplementOrderType = bussinessTypeDao.selectSupplementTypeByBillNo(stockOrderBillNo); + if (StrUtil.isNotBlank(supplementOrderType)) { + return true; + } + return false; + } + @Override public List checkSubmitOrder(List orderResponseList) { if (CollUtil.isEmpty(orderResponseList)) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/WarehouseUserServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/WarehouseUserServiceImpl.java index 3b89d00c..8897bfc7 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/WarehouseUserServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/WarehouseUserServiceImpl.java @@ -116,4 +116,9 @@ public class WarehouseUserServiceImpl implements WarehouseUserService { } return warehouseUserDao.selectListByCode(filterInvLinkDataRequest.getCode()); } + + @Override + public Integer countUserBySubInvCode(String subInvCode) { + return warehouseUserDao.countByCode(subInvCode); + } } diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml index 613069e5..37736d88 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml @@ -400,4 +400,14 @@ where localAction = #{localAction} + + diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/WarehouseUserDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/WarehouseUserDao.xml index 05bd9503..90b22a52 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/WarehouseUserDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/WarehouseUserDao.xml @@ -273,6 +273,11 @@ from inv_warehouse_user where userId = #{userId} + + + delete from inv_warehouse_user