diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java index ca33648f5..88ab85ef5 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java @@ -1162,6 +1162,8 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl map = new HashMap<>(); //统计包件数量 AtomicInteger packageNum = new AtomicInteger(); + //统计库存品数量 + AtomicInteger inventoryNum = new AtomicInteger(); //预约订单数量 AtomicInteger orderNum = new AtomicInteger(); //库存品编号 @@ -1243,6 +1245,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl> classifyList(@RequestParam Long deptId) { + public R> classifyList(@RequestParam String deptId) { + String method = "##############classifyList"; + if (Func.isEmpty(deptId)){ + log.error(method+"部门id不能为空"); + return null; + } List detail = classifyService.selectClassifyList(deptId); return R.data(detail); } @@ -44,7 +52,7 @@ public class ClassifyApi { @PostMapping("/saveApiIndicators") @ApiOperationSupport(order = 1) @ApiOperation(value = "小程序保存考核内容", notes = "传入classify") - public R saveApiIndicators(@RequestBody IndicatorsDTO instanceofDTO) { + public R saveApiIndicators(@RequestBody IndicatorsDTO instanceofDTO) { R r = classifyService.saveApiIndicators(instanceofDTO); return r; } diff --git a/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/mapper/ClassifyMapper.java b/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/mapper/ClassifyMapper.java index b54721351..769b02227 100644 --- a/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/mapper/ClassifyMapper.java +++ b/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/mapper/ClassifyMapper.java @@ -26,5 +26,5 @@ public interface ClassifyMapper extends BaseMapper { * @param pid * @return */ - List selectAllClassifyList(@Param("pid") Long pid,@Param("exAdminDeptId")Long exAdminDeptId); + List selectAllClassifyList(@Param("pid") Long pid,@Param("list")List list); } diff --git a/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/mapper/ClassifyMapper.xml b/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/mapper/ClassifyMapper.xml index 4e949f5b2..3ee11c5a5 100644 --- a/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/mapper/ClassifyMapper.xml +++ b/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/mapper/ClassifyMapper.xml @@ -66,7 +66,10 @@ and p_id = #{pid} - and examine_dept_id = #{exAdminDeptId} + and examine_dept_id in + + #{item} + diff --git a/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/service/IClassifyService.java b/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/service/IClassifyService.java index e4fab30d3..32d47e34c 100644 --- a/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/service/IClassifyService.java +++ b/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/service/IClassifyService.java @@ -58,7 +58,7 @@ public interface IClassifyService extends BaseService { * 查询指标项列表 * @return */ - List selectClassifyList(Long deptId); + List selectClassifyList(String deptId); /** * API保存考核信息 diff --git a/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/service/impl/ClassifyServiceImpl.java b/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/service/impl/ClassifyServiceImpl.java index c742923ed..09941254f 100644 --- a/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/service/impl/ClassifyServiceImpl.java +++ b/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/service/impl/ClassifyServiceImpl.java @@ -228,7 +228,7 @@ public class ClassifyServiceImpl extends BaseServiceImpl selectClassifyList(Long deptId) { + public List selectClassifyList(String deptId) { Long pid = 0L; List classifyEntities = getClassifyList(pid,deptId); for (ClassifyApiVO classifyEntity : classifyEntities) { @@ -507,7 +507,8 @@ public class ClassifyServiceImpl extends BaseServiceImpl getClassifyList(Long pid,Long exAdminDeptId) { - return baseMapper.selectAllClassifyList(pid,exAdminDeptId); + private List getClassifyList(Long pid,String exAdminDeptId) { + List list = Func.toLongList(exAdminDeptId); + return baseMapper.selectAllClassifyList(pid,list); } } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseUpdownStockupAreaApiController.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseUpdownStockupAreaApiController.java index 5c4f22a0e..6ddbb244f 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseUpdownStockupAreaApiController.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseUpdownStockupAreaApiController.java @@ -6,10 +6,7 @@ import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.distribution.vo.UpDownStockupAreaVO; import com.logpm.warehouse.bean.Resp; -import com.logpm.warehouse.dto.UpShelfPackageDTO; -import com.logpm.warehouse.dto.UpShelfStockDTO; -import com.logpm.warehouse.dto.UpStockupAreaPackageDTO; -import com.logpm.warehouse.dto.UpdownTypeDTO; +import com.logpm.warehouse.dto.*; import com.logpm.warehouse.entity.WarehouseUpdownStockupAreaEntity; import com.logpm.warehouse.service.IWarehouseUpdownStockupAreaService; import com.logpm.warehouse.service.IWarehouseUpdownTypeService; @@ -316,7 +313,7 @@ public class WarehouseUpdownStockupAreaApiController { String method = "###########upShelfZeroStockArticle: "; log.info(method + "上架零担 updownTypeDTO={}", updownTypeDTO); Long allocationId = updownTypeDTO.getAllocationId();//库位编码 - List upShelfStockList = updownTypeDTO.getUpShelfStockList(); + List upShelfZeroOrderList = updownTypeDTO.getUpShelfZeroOrderList(); try{ BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); if(Objects.isNull(myCurrentWarehouse)){ @@ -324,13 +321,13 @@ public class WarehouseUpdownStockupAreaApiController { return R.fail(403,"仓库信息不能为空"); } - int size = upShelfStockList.size(); + int size = upShelfZeroOrderList.size(); if(size == 0 ){ log.warn(method+"没有处理的数据"); return R.fail(403,"无处理数据"); } - for (UpShelfStockDTO dto:upShelfStockList){ + for (UpShelfZeroOrderDTO dto:upShelfZeroOrderList){ Integer enterNum = dto.getEnterNum(); if(Objects.isNull(enterNum) || enterNum == 0){ log.warn(method+"请输入正确的数量"); @@ -344,7 +341,7 @@ public class WarehouseUpdownStockupAreaApiController { } //查询该库位的货物信息 - return warehouseUpdownStockupAreaService.upShelfStockList(upShelfStockList,allocationId,myCurrentWarehouse.getId()); + return warehouseUpdownStockupAreaService.upShelfZeroStockeArticle(upShelfZeroOrderList,allocationId,myCurrentWarehouse.getId()); }catch (CustomerException e){ log.warn(e.message); return R.fail(e.code,e.message); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpShelfZeroOrderDTO.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpShelfZeroOrderDTO.java index a9728a380..4273baef0 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpShelfZeroOrderDTO.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpShelfZeroOrderDTO.java @@ -13,6 +13,13 @@ public class UpShelfZeroOrderDTO implements Serializable { private String waybillCode;//运单号 @ApiModelProperty(name = "订单号",notes = "订单号") private String orderCode;//订单号 + private String marketName;//商场名称 + private String marketId;//商场ID + private String associationType;//商场ID + private String associationValue;//商场ID + private String associationId;//商场ID + private String goodsType;//商场ID + private String goodsName;//商场ID @ApiModelProperty(name = "录入数量",notes = "录入数量") private Integer enterNum;//录入数量 @ApiModelProperty(name = "库位id",notes = "库位id") diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownStockupAreaService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownStockupAreaService.java index 40ade3ef9..d30b67ee3 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownStockupAreaService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownStockupAreaService.java @@ -110,4 +110,13 @@ public interface IWarehouseUpdownStockupAreaService extends BaseService upShelfZeroOrderDTOS, Long allocationId, Long id); + + /** + * 零担订单备货库位上架 + * @param upShelfZeroOrderList + * @param allocationId + * @param id + * @return + */ + R upShelfZeroStockeArticle(List upShelfZeroOrderList, Long allocationId, Long id); } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaServiceImpl.java index 88f588e9d..e901d53bb 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaServiceImpl.java @@ -17,7 +17,6 @@ package com.logpm.warehouse.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.BeanUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.logpm.basicdata.entity.*; import com.logpm.basicdata.feign.IBasicdataGoodsAllocationClient; @@ -37,7 +36,6 @@ import com.logpm.warehouse.dto.*; import com.logpm.warehouse.dto.UpShelfPackageDTO; import com.logpm.warehouse.dto.UpShelfStockDTO; import com.logpm.warehouse.dto.UpStockupAreaPackageDTO; -import com.logpm.warehouse.dto.UpdownZeroOrderDTO; import com.logpm.warehouse.entity.*; import com.logpm.warehouse.feign.WarehouseGoodsAllocationClient; import com.logpm.warehouse.mapper.WarehouseUpdownStockupAreaMapper; @@ -51,7 +49,6 @@ import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.Func; -import org.springblade.core.tool.utils.StringUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -557,6 +554,95 @@ public class WarehouseUpdownStockupAreaServiceImpl extends BaseServiceImpl upShelfZeroOrderList, Long allocationId, Long warehouseId) { + String collected = upShelfZeroOrderList.stream().filter(f -> f.getEnterNum() <= 0).map(UpShelfZeroOrderDTO::getOrderCode).collect(Collectors.joining(",")); + if (Func.isNotBlank(collected)){ + return Resp.scanFail(collected+"请输入正确的上架数量" , "请输入正确的上架数量, 物料编码为"); + } + List upShelfZeroOrderDTOS = upShelfZeroOrderList; + BasicdataGoodsAllocationEntity goodsAllocationEntity = basicdataGoodsAllocationClient.getEntityByAllocationId(allocationId); + if(Objects.isNull(goodsAllocationEntity)){ + log.warn("##############upShelfOrder: 库位不存在 allocationId={}",allocationId); + return R.fail(403,"库位不存在"); + } + String enableStatus = goodsAllocationEntity.getEnableStatus(); + Long goodsShelfId = goodsAllocationEntity.getGoodsShelfId(); + if("2".equals(enableStatus)){ + log.warn("##############upShelfOrder: 库位已被禁用 allocationId={}",allocationId); + return R.fail(403,"库位已被禁用"); + } + BasicdataGoodsShelfEntity goodsShelfEntity = basicdataGoodsShelfClient.getEntityByGoodsShelfId(goodsShelfId); + if(Objects.isNull(goodsShelfEntity)){ + log.warn("##############upShelfOrder: 货架不存在 goodsShelfId={}",goodsShelfId); + return R.fail(403,"货架不存在"); + } + Long goodsAreaId = goodsShelfEntity.getGoodsAreaId(); + BasicdataGoodsAreaEntity goodsAreaEntity = basicdataGoodsAreaClient.getEntityByGoodsAreaId(goodsAreaId); + if(Objects.isNull(goodsAreaEntity)){ + log.warn("##############upShelfOrder: 货区不存在 goodsAreaId={}",goodsAreaId); + return R.fail(403,"货区不存在"); + } + String areaType = goodsAreaEntity.getAreaType(); + if(!"1".equals(areaType)){ + log.warn("#################upShelfOrder: 备货区不能上下架 goodsAreaId={}",goodsAreaId); + throw new CustomerException(403,"请扫描备货库位"); + } + + Long wid = goodsAreaEntity.getWarehouseId(); + BasicdataWarehouseEntity warehouseEntity = basicdataWarehouseClient.getEntityWarehouseId(wid); + if(Objects.isNull(warehouseEntity)){ + log.warn("##############upShelfOrder: 仓库不存在 wid={}",wid); + return R.fail(403,"仓库不存在"); + } + if(!wid.equals(warehouseId)){ + log.warn("##############upShelfOrder: 库位不在本仓库中 warehouseId={}",warehouseId); + return R.fail(403,"库位不在本仓库中"); + } + List warehouseUpdownStockupAreaEntities = new ArrayList<>(); + List warehouseUpdownStockupAreaLogEntities = new ArrayList<>(); + QueryWrapper updownTypeQueryWrapper = new QueryWrapper<>(); + updownTypeQueryWrapper + .eq("allocation_id",allocationId) + .eq("shelf_id",goodsShelfId) + .eq("area_id",goodsAreaId) + .eq("is_deleted",0); + for (UpShelfZeroOrderDTO upShelfZeroOrderDTO : upShelfZeroOrderDTOS) { + updownTypeQueryWrapper.eq("association_value",upShelfZeroOrderDTO.getAssociationValue()); + updownTypeQueryWrapper.eq("association_type",upShelfZeroOrderDTO.getAssociationType()); + updownTypeQueryWrapper.eq("association_id",upShelfZeroOrderDTO.getAssociationId()); + updownTypeQueryWrapper.eq("goods_type",upShelfZeroOrderDTO.getGoodsType()); + WarehouseUpdownStockupAreaEntity updownStockupAreaEntity = this.getOne(updownTypeQueryWrapper); + if (Func.isNotEmpty(updownStockupAreaEntity)){ + //备货库位上数量增加 + //存在,需要进行新的上架数量维护 + int updateNum = updownStockupAreaEntity.getNum() + upShelfZeroOrderDTO.getEnterNum(); + updownStockupAreaEntity.setNum(updateNum); + this.updateById(updownStockupAreaEntity); + WarehouseUpdownStockupAreaLogEntity warehouseUpdownStockupAreaLogEntity = Func.copy(updownStockupAreaEntity, WarehouseUpdownStockupAreaLogEntity.class); + warehouseUpdownStockupAreaLogEntity.setBindingType(1); + warehouseUpdownStockupAreaLogEntity.setId(null); + warehouseUpdownStockupAreaLogEntity.setNum(upShelfZeroOrderDTO.getEnterNum()); + warehouseUpdownStockupAreaLogEntities.add(warehouseUpdownStockupAreaLogEntity); + }else { + //在该备货库位上第一次进行上架操作 + WarehouseUpdownStockupAreaEntity warehouseUpdownStockupArea = createdNewUpShelfZeroOrder(allocationId, warehouseId, upShelfZeroOrderDTO, goodsAreaId, goodsAreaEntity, goodsShelfId, goodsShelfEntity, goodsAllocationEntity); + warehouseUpdownStockupAreaEntities.add(warehouseUpdownStockupArea); + WarehouseUpdownStockupAreaLogEntity warehouseUpdownStockupAreaLogEntity = Func.copy(warehouseUpdownStockupArea, WarehouseUpdownStockupAreaLogEntity.class); + warehouseUpdownStockupAreaLogEntity.setBindingType(1); + warehouseUpdownStockupAreaLogEntities.add(warehouseUpdownStockupAreaLogEntity); + } + } + warehouseUpdownStockupAreaLogService.saveBatch(warehouseUpdownStockupAreaLogEntities); + + return R.status(this.saveBatch(warehouseUpdownStockupAreaEntities)); + } + private WarehouseUpdownStockupAreaEntity createdNewUpShelfInventory(Long allocationId, Long warehouseId, UpShelfStockDTO upShelfStockDTO, WarehouseUpdownStockupAreaEntity updownTypeEntity, Long goodsAreaId, BasicdataGoodsAreaEntity goodsAreaEntity, Long goodsShelfId, BasicdataGoodsShelfEntity goodsShelfEntity, BasicdataGoodsAllocationEntity goodsAllocationEntity) { WarehouseUpdownStockupAreaEntity updownStockupAreaEntity = new WarehouseUpdownStockupAreaEntity(); updownStockupAreaEntity.setWarehouseId(warehouseId); @@ -580,6 +666,29 @@ public class WarehouseUpdownStockupAreaServiceImpl extends BaseServiceImpl