Browse Source

修改库存品拆包

dev-warehouse
caoyizhong 2 years ago
parent
commit
b6245a0c0e
  1. 11
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionParcelDetailsEntity.java
  2. 14
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockEntity.java
  3. 10
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockListEntity.java
  4. 15
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionUnpackingDetailsEntity.java
  5. 6
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataStorageServicesMapper.xml
  6. 3
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataStoreContactMapper.xml
  7. 9
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockListController.java
  8. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockListService.java
  9. 74
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java

11
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionParcelDetailsEntity.java

@ -96,5 +96,16 @@ public class DistributionParcelDetailsEntity extends TenantEntity {
*/
@ApiModelProperty(value = "数量")
private Integer number;
/**
* 单位
*/
@ApiModelProperty(value = "单位")
private String unit;
/**
* 货位
*/
@ApiModelProperty(value = "货位")
private String goodsAllocation;
}

14
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockEntity.java

@ -16,6 +16,7 @@
*/
package com.logpm.distribution.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import io.swagger.annotations.ApiModel;
@ -34,7 +35,7 @@ import org.springblade.core.tenant.mp.TenantEntity;
@TableName("logpm_distribution_stock")
@ApiModel(value = "DistributionStock对象", description = "库存品详情信息")
@EqualsAndHashCode(callSuper = true)
public class DistributionStockEntity extends TenantEntity {
public class DistributionStockEntity extends TenantEntity {
/**
* 预留1
@ -96,6 +97,17 @@ public class DistributionStockEntity extends TenantEntity {
*/
@ApiModelProperty(value = "拆包数")
private Integer unpackingQuantity;
/**
* 包件id
*/
@ApiModelProperty(value = "包件id")
@TableField(exist = false)
private String parcelsId;
/**
* 单位
*/
@ApiModelProperty(value = "单位")
private String unit;
/**
* 在库包件ID
*/

10
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockListEntity.java

@ -22,6 +22,8 @@ import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import java.util.List;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
@ -97,6 +99,12 @@ public class DistributionStockListEntity extends TenantEntity {
*/
@ApiModelProperty(value = "仓库")
private String warehouse;
/**
* 拆分包件
*/
@ApiModelProperty(value = "拆分包件")
@TableField(exist = false)
private List<DistributionStockEntity> parcels;
/**
* 工厂车次
*/
@ -133,7 +141,7 @@ public class DistributionStockListEntity extends TenantEntity {
@ApiModelProperty(value = "商城名称")
private String mallName;
/**
* 拆包
* 拆包状态
*/
@ApiModelProperty(value = "拆包")
private Boolean unpack;

15
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionUnpackingDetailsEntity.java

@ -17,11 +17,14 @@
package com.logpm.distribution.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.License;
import lombok.AllArgsConstructor;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.springblade.core.tenant.mp.TenantEntity;
/**
@ -34,6 +37,8 @@ import org.springblade.core.tenant.mp.TenantEntity;
@TableName("logpm_distribution_unpacking_details")
@ApiModel(value = "DistributionUnpackingDetails对象", description = "拆包明细记录")
@EqualsAndHashCode(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
public class DistributionUnpackingDetailsEntity extends TenantEntity {
/**
@ -75,7 +80,7 @@ public class DistributionUnpackingDetailsEntity extends TenantEntity {
* 库存品Id
*/
@ApiModelProperty(value = "库存品Id")
private String stockListId;
private Long stockListId;
/**
* 包件id
*/
@ -91,5 +96,11 @@ public class DistributionUnpackingDetailsEntity extends TenantEntity {
*/
@ApiModelProperty(value = "拆包数量")
private Integer unpackingQuantity;
public DistributionUnpackingDetailsEntity(String stockArticleId, String orderSelfNumber, Long stockListId, String itemName, Integer unpackingQuantity){
this.stockArticleId = stockArticleId;
this.orderSelfNumber = orderSelfNumber;
this.stockListId = stockListId;
this.itemName = itemName;
this.unpackingQuantity = unpackingQuantity;
}
}

6
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataStorageServicesMapper.xml

@ -11,13 +11,11 @@
<select id="selectBasicdataStorageServicesPage" resultType="com.logpm.basicdata.vo.BasicdataStorageServicesVO">
select lbss.tenant_id, lbss.create_user, lbss.create_time, lbss.update_user, lbss.update_time, lbss.status, lbss.is_deleted, lbss.create_dept, lbss.id, lbss.reserve1, lbss.reserve2,
lbss.reserve3, lbss.reserve4, lbss.reserve5, lbss.shop_id, lbss.forwarding_unit, lbss.warehouse_service,lbs.store_name storeName,lbsc.linkman,lbss.distinguish
lbss.reserve3, lbss.reserve4, lbss.reserve5, lbss.shop_id, lbss.forwarding_unit, lbss.warehouse_service,lbsc.linkman,lbss.distinguish
from logpm_basicdata_storage_services lbss
LEFT JOIN logpm_basicdata_shop lbs on lbs.id = lbss.shop_id
LEFT JOIN logpm_basicdata_store_contact lbsc on lbsc.id = lbss.forwarding_unit
LEFT JOIN logpm_basicdata_store_contact lbsc on lbsc.id = lbss.forwarding_unit
<where>
lbss.is_deleted = 0
<if test="param.shopId != null and param.shopId != null"> and lbs.store_name like concat('%',#{param.shopId},'%') </if>
<if test="param.shopIds != null and param.shopIds != null"> and lbss.shop_id = #{param.shopIds} </if>
<if test="param.distinguish != null and param.distinguish != null"> and lbss.distinguish = #{param.distinguish} </if>
<if test="param.forwardingUnit != null and param.forwardingUnit != null"> and lbsc.linkman like concat('%',#{param.forwardingUnit} ,'%') </if>

3
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataStoreContactMapper.xml

@ -9,9 +9,8 @@
<select id="selectBasicdataStoreContactPage" resultType="com.logpm.basicdata.vo.BasicdataStoreContactVO">
select lbsc.tenant_id, lbsc.create_user, lbsc.create_time,lbsc.update_user,lbsc.update_time, lbsc.status, lbsc.is_deleted, lbsc.create_dept, lbsc.id, lbsc.reserve1, lbsc.reserve2,
lbsc.reserve3, lbsc.reserve4, lbsc.reserve5, lbsc.shop_id, lbsc.linkman, lbsc.phone,lbs.store_name storeName
lbsc.reserve3, lbsc.reserve4, lbsc.reserve5, lbsc.shop_id, lbsc.linkman, lbsc.phone
from logpm_basicdata_store_contact lbsc
LEFT JOIN logpm_basicdata_shop lbs on lbs.id = lbsc.shop_id
where lbsc.is_deleted = 0
</select>

9
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockListController.java

@ -120,6 +120,15 @@ public class DistributionStockListController extends BladeController {
public R submit(@Valid @RequestBody DistributionStockListEntity distributionStockList) {
return R.status(distributionStockListService.saveOrUpdate(distributionStockList));
}
/**
* 库存品管理 拆包
*/
@PostMapping("/parcels")
@ApiOperationSupport(order = 6)
@ApiOperation(value = "新增或修改", notes = "传入distributionStockList")
public R parcels(@Valid @RequestBody DistributionStockListEntity distributionStockList) {
return R.status(distributionStockListService.parcels(distributionStockList));
}
/**
* 库存品管理 删除

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockListService.java

@ -58,4 +58,6 @@ public interface IDistributionStockListService extends BaseService<DistributionS
* @return
*/
R<List<DistributionStockArticleVO>> getPackageList(String id);
Boolean parcels(DistributionStockListEntity distributionStockList);
}

74
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java

@ -16,18 +16,27 @@
*/
package com.logpm.distribution.service.impl;
import com.logpm.distribution.entity.DistributionStockListEntity;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.logpm.basic.feign.IBasicTenantCodeClient;
import com.logpm.distribution.entity.*;
import com.logpm.distribution.excel.DistributionUnpackingDetailsExcel;
import com.logpm.distribution.service.*;
import com.logpm.distribution.vo.DistributionStockArticleVO;
import com.logpm.distribution.vo.DistributionStockListVO;
import com.logpm.distribution.excel.DistributionStockListExcel;
import com.logpm.distribution.mapper.DistributionStockListMapper;
import com.logpm.distribution.service.IDistributionStockListService;
import lombok.AllArgsConstructor;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.RandomType;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
/**
@ -40,6 +49,12 @@ import java.util.List;
@AllArgsConstructor
public class DistributionStockListServiceImpl extends BaseServiceImpl<DistributionStockListMapper, DistributionStockListEntity> implements IDistributionStockListService {
private final IDistributionParcelDetailsService distributionParcelDetailsService;
private final IDistributionStockService distributionStockService;
private final IBasicTenantCodeClient basicTenantCodeClient;
private final IDistributionUnpackingDetailsService distributionUnpackingDetailsService;
@Override
public IPage<DistributionStockListVO> selectDistributionStockListPage(IPage<DistributionStockListVO> page, DistributionStockListVO distributionStockList) {
return page.setRecords(baseMapper.selectDistributionStockListPage(page, distributionStockList));
@ -61,4 +76,59 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl<Distributi
return null;
}
/**
*
* @param distributionStockList
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean parcels(DistributionStockListEntity distributionStockList) {
List<DistributionStockEntity> list = new ArrayList<>();
List<DistributionUnpackingDetailsEntity> detailsEntities = new ArrayList<>();
distributionStockList.getParcels().forEach( i ->{
//查询包件信息
DistributionParcelDetailsEntity one = distributionParcelDetailsService.getOne(Wrappers.<DistributionParcelDetailsEntity>query().lambda()
.eq(DistributionParcelDetailsEntity::getId, i.getParcelsId())
.eq(DistributionParcelDetailsEntity::getIsDeleted, 0)
);
for (Integer integer = 0; integer < i.getUnpackingQuantity(); integer++) {
//添加拆包信息
DistributionStockEntity distributionStock = new DistributionStockEntity();
distributionStock.setStockListId(Long.parseLong(one.getStockArticleId()));
distributionStock.setParcelListId(Long.parseLong(one.getParcelListId()));
distributionStock.setConditions(1); //1 在库
distributionStock.setUnpackingQuantity(1);
distributionStock.setUnit(one.getUnit());
distributionStock.setGoodsAllocation(one.getGoodsAllocation());
// String s1 = basicTenantCodeClient.shelfCode(AuthUtil.getTenantId(), "7");
String random = Func.random(15, RandomType.INT);
// distributionStock.setCoding(s1+random);
distributionStock.setCoding(random);
list.add(distributionStock);
//添加拆包记录
DistributionStockListEntity one1 = baseMapper.selectById( distributionStockList.getId());
DistributionUnpackingDetailsEntity distributionUnpackingDetails= new DistributionUnpackingDetailsEntity(one.getStockArticleId(),one1.getOrderSelfNumbering(),distributionStockList.getId(),one.getName(),i.getUnpackingQuantity());
detailsEntities.add(distributionUnpackingDetails);
}
});
if(list.size() > 0){
//修改库存品信息
int total = distributionStockList.getParcels().stream().mapToInt(DistributionStockEntity::getUnpackingQuantity).sum();
DistributionStockListEntity distributionStockList1 = new DistributionStockListEntity();
distributionStockList1.setId(distributionStockList.getId());
distributionStockList1.setUnpack(true);
distributionStockList1.setQuantityStock(total);
distributionStockList1.setOutboundQuantity(0);
baseMapper.updateById(distributionStockList1);
//添加拆包
distributionStockService.saveBatch(list);
}
if(detailsEntities.size() > 0){
//添加拆包记录
distributionUnpackingDetailsService.saveBatch(detailsEntities);
}
return true;
}
}

Loading…
Cancel
Save