Browse Source

单一库存品计划修复、零担上架家口、小程序考核列表查询调整

chenglong
汤建军 1 year ago
parent
commit
a3714f186d
  1. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java
  2. 12
      blade-service/logpm-supervise/src/main/java/com/logpm/supervise/api/ClassifyApi.java
  3. 2
      blade-service/logpm-supervise/src/main/java/com/logpm/supervise/mapper/ClassifyMapper.java
  4. 5
      blade-service/logpm-supervise/src/main/java/com/logpm/supervise/mapper/ClassifyMapper.xml
  5. 2
      blade-service/logpm-supervise/src/main/java/com/logpm/supervise/service/IClassifyService.java
  6. 7
      blade-service/logpm-supervise/src/main/java/com/logpm/supervise/service/impl/ClassifyServiceImpl.java
  7. 13
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseUpdownStockupAreaApiController.java
  8. 7
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpShelfZeroOrderDTO.java
  9. 9
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownStockupAreaService.java
  10. 115
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaServiceImpl.java

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java

@ -1162,6 +1162,8 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
Map<String, Object> map = new HashMap<>();
//统计包件数量
AtomicInteger packageNum = new AtomicInteger();
//统计库存品数量
AtomicInteger inventoryNum = new AtomicInteger();
//预约订单数量
AtomicInteger orderNum = new AtomicInteger();
//库存品编号
@ -1243,6 +1245,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
orderNum.getAndAdd(orderCount);
//统计包件数量
packageNum.getAndAdd(reservationEntity.getReservationNum());
inventoryNum.getAndAdd(reservationEntity.getReservationStockListNum());
//TODO 设置是否齐套
this.updateById(reservationEntity);
//订单自编号拼接
@ -1401,6 +1404,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
// distributionDeliveryListEntity.setReservationId(reservationIds);
distributionDeliveryListEntity.setDeliveryNumber(packageNum.get());
distributionDeliveryListEntity.setInventoryNub(inventoryNum.get());
distributionDeliveryListService.updateById(distributionDeliveryListEntity);
return R.status(true);
}

12
blade-service/logpm-supervise/src/main/java/com/logpm/supervise/api/ClassifyApi.java

@ -12,9 +12,11 @@ import com.logpm.supervise.wrapper.ClassifyWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -24,6 +26,7 @@ import java.util.Map;
@AllArgsConstructor
@RequestMapping("/classifyApi")
@Api(value = "分类指标表", tags = "分类指标表接口")
@Slf4j
public class ClassifyApi {
private final IClassifyService classifyService;
@ -33,7 +36,12 @@ public class ClassifyApi {
@GetMapping("/classifyList")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "小程序指标项列表", notes = "传入classify")
public R<List<ClassifyApiVO>> classifyList(@RequestParam Long deptId) {
public R<List<ClassifyApiVO>> classifyList(@RequestParam String deptId) {
String method = "##############classifyList";
if (Func.isEmpty(deptId)){
log.error(method+"部门id不能为空");
return null;
}
List<ClassifyApiVO> 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;
}

2
blade-service/logpm-supervise/src/main/java/com/logpm/supervise/mapper/ClassifyMapper.java

@ -26,5 +26,5 @@ public interface ClassifyMapper extends BaseMapper<ClassifyEntity> {
* @param pid
* @return
*/
List<ClassifyApiVO> selectAllClassifyList(@Param("pid") Long pid,@Param("exAdminDeptId")Long exAdminDeptId);
List<ClassifyApiVO> selectAllClassifyList(@Param("pid") Long pid,@Param("list")List<Long> list);
}

5
blade-service/logpm-supervise/src/main/java/com/logpm/supervise/mapper/ClassifyMapper.xml

@ -66,7 +66,10 @@
and p_id = #{pid}
</if>
<if test="exAdminDeptId != null and exAdminDeptId != ''">
and examine_dept_id = #{exAdminDeptId}
and examine_dept_id in
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</select>
</mapper>

2
blade-service/logpm-supervise/src/main/java/com/logpm/supervise/service/IClassifyService.java

@ -58,7 +58,7 @@ public interface IClassifyService extends BaseService<ClassifyEntity> {
* 查询指标项列表
* @return
*/
List<ClassifyApiVO> selectClassifyList(Long deptId);
List<ClassifyApiVO> selectClassifyList(String deptId);
/**
* API保存考核信息

7
blade-service/logpm-supervise/src/main/java/com/logpm/supervise/service/impl/ClassifyServiceImpl.java

@ -228,7 +228,7 @@ public class ClassifyServiceImpl extends BaseServiceImpl<ClassifyMapper, Classif
}
@Override
public List<ClassifyApiVO> selectClassifyList(Long deptId) {
public List<ClassifyApiVO> selectClassifyList(String deptId) {
Long pid = 0L;
List<ClassifyApiVO> classifyEntities = getClassifyList(pid,deptId);
for (ClassifyApiVO classifyEntity : classifyEntities) {
@ -507,7 +507,8 @@ public class ClassifyServiceImpl extends BaseServiceImpl<ClassifyMapper, Classif
return R.success("导入成功");
}
private List<ClassifyApiVO> getClassifyList(Long pid,Long exAdminDeptId) {
return baseMapper.selectAllClassifyList(pid,exAdminDeptId);
private List<ClassifyApiVO> getClassifyList(Long pid,String exAdminDeptId) {
List<Long> list = Func.toLongList(exAdminDeptId);
return baseMapper.selectAllClassifyList(pid,list);
}
}

13
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<UpShelfStockDTO> upShelfStockList = updownTypeDTO.getUpShelfStockList();
List<UpShelfZeroOrderDTO> 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);

7
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")

9
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownStockupAreaService.java

@ -110,4 +110,13 @@ public interface IWarehouseUpdownStockupAreaService extends BaseService<Warehous
* @return
*/
R upShelfZeroOrder(List<UpShelfZeroOrderDTO> upShelfZeroOrderDTOS, Long allocationId, Long id);
/**
* 零担订单备货库位上架
* @param upShelfZeroOrderList
* @param allocationId
* @param id
* @return
*/
R upShelfZeroStockeArticle(List<UpShelfZeroOrderDTO> upShelfZeroOrderList, Long allocationId, Long id);
}

115
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<Wareh
return null;
}
/**
* @param upShelfZeroOrderList
* @param allocationId
* @return
*/
@Override
public R upShelfZeroStockeArticle(List<UpShelfZeroOrderDTO> 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<UpShelfZeroOrderDTO> 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<WarehouseUpdownStockupAreaEntity> warehouseUpdownStockupAreaEntities = new ArrayList<>();
List<WarehouseUpdownStockupAreaLogEntity> warehouseUpdownStockupAreaLogEntities = new ArrayList<>();
QueryWrapper<WarehouseUpdownStockupAreaEntity> 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<Wareh
}
private WarehouseUpdownStockupAreaEntity createdNewUpShelfZeroOrder(Long allocationId, Long warehouseId,UpShelfZeroOrderDTO upShelfZeroOrderDTO, Long goodsAreaId, BasicdataGoodsAreaEntity goodsAreaEntity, Long goodsShelfId, BasicdataGoodsShelfEntity goodsShelfEntity, BasicdataGoodsAllocationEntity goodsAllocationEntity) {
WarehouseUpdownStockupAreaEntity updownStockupAreaEntity = new WarehouseUpdownStockupAreaEntity();
updownStockupAreaEntity.setWarehouseId(warehouseId);
updownStockupAreaEntity.setAreaId(goodsAreaId);
updownStockupAreaEntity.setAreaTitle(goodsAreaEntity.getHeadline());
updownStockupAreaEntity.setShelfId(goodsShelfId);
updownStockupAreaEntity.setShelfTitle(goodsShelfEntity.getGoodsShelfName());
updownStockupAreaEntity.setAllocationId(allocationId);
updownStockupAreaEntity.setAllocationTitle(goodsAllocationEntity.getGoodsAllocationName());
updownStockupAreaEntity.setPositionCode(goodsAllocationEntity.getQrCode());
updownStockupAreaEntity.setAssociationValue(upShelfZeroOrderDTO.getAssociationValue());
updownStockupAreaEntity.setAssociationId(Long.parseLong(upShelfZeroOrderDTO.getAssociationId()));
updownStockupAreaEntity.setAssociationType("1");
updownStockupAreaEntity.setUpdownType("订单");
updownStockupAreaEntity.setGoodsType("2");
updownStockupAreaEntity.setGoodsName(upShelfZeroOrderDTO.getGoodsName());
updownStockupAreaEntity.setNum(upShelfZeroOrderDTO.getEnterNum());
updownStockupAreaEntity.setMarketId(Long.parseLong(upShelfZeroOrderDTO.getMarketId()));
updownStockupAreaEntity.setMarketName(upShelfZeroOrderDTO.getMarketName());
return updownStockupAreaEntity;
}
private UpdownStockVO stockToUpdownStockVO(DistributionStockListEntity stockListEntity,Long warehouseId) {
Long marketId = stockListEntity.getMarketId();
// Long materialId = stockListEntity.getMaterialId();

Loading…
Cancel
Save