Browse Source

修改自提备货操作2

training
caoyizhong 2 years ago
parent
commit
b57714f6ee
  1. 3
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockEntity.java
  2. 2
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionDeliveryDetailsVO.java
  3. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockDTO.java
  4. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryDetailsMapper.java
  5. 25
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryDetailsMapper.xml
  6. 11
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml
  7. 12
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockMapper.java
  8. 19
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockMapper.xml
  9. 14
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryDetailsService.java
  10. 6
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockService.java
  11. 11
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryDetailsServiceImpl.java
  12. 9
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java
  13. 76
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockServiceImpl.java
  14. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java

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

@ -160,6 +160,9 @@ public class DistributionStockEntity extends TenantEntity {
@ApiModelProperty(value = "备货区")
private String stockupArea;
@ApiModelProperty(value = "备货区Id")
private Long stockupId;
@ApiModelProperty(value = "扫码类型 1包件 2库存品")
private Integer type;

2
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionDeliveryDetailsVO.java

@ -32,6 +32,6 @@ import lombok.EqualsAndHashCode;
public class DistributionDeliveryDetailsVO extends DistributionDeliveryDetailsEntity {
private static final long serialVersionUID = 1L;
private Integer wholeNum; //全部
private Integer esauNum; //全部
private Integer esauNum; //以扫
}

3
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockDTO.java

@ -34,8 +34,9 @@ public class DistributionStockDTO extends DistributionStockEntity {
private static final long serialVersionUID = 1L;
private List<String> ids; //包件ID
private String goodsAreaId; //备货区
private String stockupId; //配货id
// private String stockupId; //配货id
private String stockupArea; //名称
private String stockupType; //标识

10
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryDetailsMapper.java

@ -23,6 +23,7 @@ import com.logpm.distribution.excel.DistributionDeliveryDetailsExcel;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.vo.DistributionStockVO;
import com.logpm.distribution.vo.app.DistrilbutionBillLadingInventoryAppVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -68,4 +69,13 @@ public interface DistributionDeliveryDetailsMapper extends BaseMapper<Distributi
DistrilbutionBillLadingInventoryAppVO listCode(@Param("billLadingId") String billLadingId,@Param("coding") String coding);
IPage<DistributionBillInventoryVO> getBillOrderInventory(IPage<Object> page, @Param("param") DistributionDeliveryDetailsEntity deliveryDetails);
/**
* 查询库存品数量
* @param pageId
* @return
*/
DistributionDeliveryDetailsVO selectCountStock(@Param("pageId") Long pageId);
DistributionDeliveryDetailsVO selectOrderCount(@Param("pageId") Long pageId);
}

25
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryDetailsMapper.xml

@ -27,6 +27,31 @@
<select id="selectDistributionDeliveryDetailsPage" resultMap="distributionDeliveryDetailsResultMap">
select * from logpm_distribution_delivery_details where is_deleted = 0
</select>
<select id="selectCountStock" resultType="com.logpm.distribution.vo.DistributionDeliveryDetailsVO">
select sum(lddd.quantity) wholeNum, (
select COUNT(lddd.stock_list_id)
from logpm_distribution_stockup_info ldsi
LEFT JOIN logpm_distribution_delivery_details lddd on lddd.bill_lading_id = ldsi.reservation_id
LEFT JOIN logpm_distribution_stock lds on lds.stock_article = lddd.stock_list_id
where ldsi.stockup_id = #{pageId} and lddd.inventory_status in(1,2)
) esauNum
from logpm_distribution_stockup_info ldsi
LEFT JOIN logpm_distribution_delivery_details lddd on lddd.bill_lading_id = ldsi.reservation_id
where ldsi.stockup_id = #{pageId} and lddd.inventory_status in(1,2)
</select>
<select id="selectOrderCount" resultType="com.logpm.distribution.vo.DistributionDeliveryDetailsVO">
select SUM(ldrs.reservation_num) wholeNum,(
select COUNT(lds.id)
from logpm_distribution_stockup_info ldsi
left join logpm_distribution_reservation_stocklist ldrs on ldsi.reservation_id = ldrs.reservation_id
LEFT JOIN logpm_distribution_stock lds on lds.stock_list_id = ldrs.stocklist_id
where ldsi.stockup_id = #{pageId} and ldrs.stock_list_status in (1,3)
) esauNum
from logpm_distribution_stockup_info ldsi
left join logpm_distribution_reservation_stocklist ldrs on ldsi.reservation_id = ldrs.reservation_id
where ldsi.stockup_id = #{pageId} and ldrs.stock_list_status in (1,3)
</select>
<select id="exportDistributionDeliveryDetails" resultType="com.logpm.distribution.excel.DistributionDeliveryDetailsExcel">

11
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml

@ -123,7 +123,7 @@
group by ldpl.pallet
</select>
<select id="getParcelListOwn" resultType="com.logpm.distribution.vo.DistributionParcelListVO">
select ldrp.parce_list_id id,ldrp.packet_bar_code orderPackageCode,ldsk.type stockupStatus, ldpl.firsts,ldpl.second,ldpl.third_product thirdProduct,
<!-- select ldrp.parce_list_id id,ldrp.packet_bar_code orderPackageCode,ldsk.type stockupStatus, ldpl.firsts,ldpl.second,ldpl.third_product thirdProduct,
ldpl.material_name materialName,lds.stockup_date stockupDate,lds.stockup_area stockupArea,ldpl.goods_allocation goodsAllocation,ldpl.pallet
from logpm_distribution_stockup lds
left join logpm_distribution_stockup_info ldsi on ldsi.stockup_id = lds.id
@ -132,6 +132,15 @@
LEFT JOIN logpm_distribution_parcel_list ldpl on ldpl.id = ldrp.parce_list_id
<where>
lds.id =#{id}
</where>-->
select ldsi.stockup_id , ldpl.id id,ldpl.order_package_code orderPackageCode,lds.type stockupStatus,ldpl.firsts,ldpl.second,ldpl.third_product thirdProduct,
ldpl.material_name materialName,lds.create_time stockupDate,lds.stockup_area stockupArea,ldpl.goods_allocation goodsAllocation,ldpl.pallet
from logpm_distribution_stockup_info ldsi
LEFT JOIN logpm_distribution_reservation_package ldrp on ldrp.reservation_id = ldsi.reservation_id
LEFT JOIN logpm_distribution_parcel_list ldpl on ldpl.id = ldrp.parce_list_id
LEFT JOIN logpm_distribution_stock lds on ldpl.id = lds.parcel_list_id
<where>
ldsi.stockup_id =#{id}
</where>
</select>
<select id="getPageVOList" resultType="com.logpm.distribution.entity.DistributionParcelListEntity">

12
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockMapper.java

@ -63,5 +63,17 @@ public interface DistributionStockMapper extends BaseMapper<DistributionStockEnt
DistributionStockVO selectParcelList(@Param("pageId")Long pageId);
/**
* 剩余数量
* @param pageId
* @return
*/
DistributionStockVO selectStockupInfo(@Param("pageId")Long pageId);
/**
* 自提以扫订单数量
* @param pageId
* @return
*/
DistributionStockVO selectStockupInfoSelf(@Param("pageId")Long pageId);
}

19
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockMapper.xml

@ -77,6 +77,25 @@
where stockup_id = #{pageId})
)
</select>
<select id="selectStockupInfoSelf" resultType="com.logpm.distribution.vo.DistributionStockVO">
select COUNT(lds.id) scanned,
(select COUNT(ldpl.id)
from logpm_distrilbution_bill_stock ldbs
LEFT JOIN logpm_distribution_parcel_list ldpl on ldbs.stock_article_id = ldpl.stock_article_id
where ldbs.bill_lading_id = (
select reservation_id
from logpm_distribution_stockup_info
where stockup_id = '1693559371180425218'
) ) whole
from logpm_distrilbution_bill_stock ldbs
LEFT JOIN logpm_distribution_parcel_list ldpl on ldbs.stock_article_id = ldpl.stock_article_id
LEFT JOIN logpm_distribution_stock lds on lds.parcel_list_id = ldpl.id
where ldbs.bill_lading_id = (
select reservation_id
from logpm_distribution_stockup_info
where stockup_id = #{pageId}
)
</select>
</mapper>

14
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryDetailsService.java

@ -22,6 +22,7 @@ import com.logpm.distribution.vo.DistributionBillInventoryVO;
import com.logpm.distribution.vo.DistributionDeliveryDetailsVO;
import com.logpm.distribution.excel.DistributionDeliveryDetailsExcel;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.vo.DistributionStockVO;
import com.logpm.distribution.vo.DistrilbutionBillLadingAppVO;
import com.logpm.distribution.vo.app.DistrilbutionBillLadingInventoryAppVO;
import org.springblade.core.mp.base.BaseService;
@ -63,4 +64,17 @@ public interface IDistributionDeliveryDetailsService extends BaseService<Distrib
DistrilbutionBillLadingInventoryAppVO listCode(String billLadingId, String coding);
IPage<DistributionBillInventoryVO> getBillOrderInventory(IPage<Object> page, Map<String, Object> distributionDeliveryDetails);
/**
* 查询库存品的数量
* @param pageId
* @return
*/
DistributionDeliveryDetailsVO selectCount(Long pageId);
/**
* 查询库存品的数量
* @param pageId
* @return
*/
DistributionDeliveryDetailsVO selectOrderCount(Long pageId);
}

6
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockService.java

@ -58,7 +58,11 @@ public interface IDistributionStockService extends BaseService<DistributionStock
void repairStockListScanInfo(DistributionStockEntity distributionStockEntity);
/**
* 系统备货
* @param distributionStock
* @return
*/
Boolean addStockDetail(DistributionStockDTO distributionStock);
/**

11
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryDetailsServiceImpl.java

@ -23,6 +23,7 @@ import com.logpm.distribution.vo.DistributionDeliveryDetailsVO;
import com.logpm.distribution.excel.DistributionDeliveryDetailsExcel;
import com.logpm.distribution.mapper.DistributionDeliveryDetailsMapper;
import com.logpm.distribution.service.IDistributionDeliveryDetailsService;
import com.logpm.distribution.vo.DistributionStockVO;
import com.logpm.distribution.vo.app.DistrilbutionBillLadingInventoryAppVO;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
@ -76,4 +77,14 @@ public class DistributionDeliveryDetailsServiceImpl extends BaseServiceImpl<Dist
return baseMapper.getBillOrderInventory(page,deliveryDetails);
}
@Override
public DistributionDeliveryDetailsVO selectCount(Long pageId) {
return baseMapper.selectCountStock(pageId);
}
@Override
public DistributionDeliveryDetailsVO selectOrderCount(Long pageId) {
return baseMapper.selectOrderCount(pageId);
}
}

9
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java

@ -20,6 +20,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.excel.DistributionParcelListExcel;
@ -30,6 +31,7 @@ import com.logpm.distribution.vo.DistributionParcelListVO;
import com.logpm.distribution.vo.PackageStockupVO;
import lombok.AllArgsConstructor;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.common.constant.order.OrderStockupStatusConstant;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.system.cache.DictBizCache;
import org.springframework.stereotype.Service;
@ -108,7 +110,12 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
Object o = distributionParcelList.get("id");
IPage<DistributionParcelListVO> parcelListOwn = baseMapper.getParcelListOwnSelf(page, Long.parseLong((String) o));
parcelListOwn.getRecords().forEach(i ->{
i.setStockupStatusName(DictBizCache.getValue(DictBizConstant.STOCKUP_STATUS,i.getStockupStatus()));
if(ObjectUtils.isNotNull( i.getStockupStatus())){
i.setStockupStatusName(OrderStockupStatusConstant.yibeihu.getName());
}else{
i.setStockupStatusName(OrderStockupStatusConstant.daibeihuo.getName());
}
});
return parcelListOwn;
}

76
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockServiceImpl.java

@ -27,6 +27,7 @@ import com.logpm.distribution.excel.DistributionStockExcel;
import com.logpm.distribution.mapper.DistributionStockMapper;
import com.logpm.distribution.mapper.DistributionStockupMapper;
import com.logpm.distribution.service.*;
import com.logpm.distribution.vo.DistributionDeliveryDetailsVO;
import com.logpm.distribution.vo.DistributionStockVO;
import com.logpm.distribution.vo.DistributionStockupVO;
import lombok.extern.log4j.Log4j2;
@ -68,6 +69,9 @@ public class DistributionStockServiceImpl extends BaseServiceImpl<DistributionSt
@Autowired
private IDistributionStockArticleService distributionStockArticleService;
@Autowired
private IDistributionDeliveryDetailsService distributionDeliveryDetailsService;
@Override
public IPage<DistributionStockVO> selectDistributionStockPage(IPage<DistributionStockVO> page, DistributionStockVO distributionStock) {
@ -166,7 +170,7 @@ public class DistributionStockServiceImpl extends BaseServiceImpl<DistributionSt
DistributionStockArticleEntity byId1 = distributionStockArticleService.getById(byId.getStockArticleId());
//查询包件数量
getUpdateOrderState(Long.parseLong(i),1 );
List<DistributionStockVO> stockVOList = baseMapper.selectReservationDelivery(distributionStocks.getStockupId());
List<DistributionStockVO> stockVOList = baseMapper.selectReservationDelivery(String.valueOf(distributionStocks.getStockupId()));
if (stockVOList.size() > 0) {
stockEntity.setReservationId(stockVOList.get(0).getReservationId());
stockEntity.setDeliveryListId(stockVOList.get(0).getDeliveryListId());
@ -183,6 +187,7 @@ public class DistributionStockServiceImpl extends BaseServiceImpl<DistributionSt
stockEntity.setUnit(byId.getMaterialUnit()); //单位
stockEntity.setOrderSelfNumbering(byId.getOrderCode()); //自编码
stockEntity.setStockupArea(distributionStocks.getStockupArea()); //自编码
stockEntity.setStockupId(Long.parseLong(distributionStocks.getGoodsAreaId())); //自编码
stockEntity.setType(1);
stockEntity.setOutboundType(byId1.getTypeService());//类型
list.add(stockEntity);
@ -193,18 +198,28 @@ public class DistributionStockServiceImpl extends BaseServiceImpl<DistributionSt
distributionParcelListService.updateById(parcelListEntity);
});
//修改备货状态
getUpdateOrderState(Long.parseLong(distributionStocks.getStockupId()),2 );
if(ObjectUtils.isNotNull(distributionStocks.getStockupType()) && distributionStocks.getStockupType().equals("ZT")){
//修改备货状态
getUpdateOrderState(distributionStocks.getStockupId(),3 );
}else{
//修改备货状态
getUpdateOrderState(distributionStocks.getStockupId(),2 );
}
return this.saveBatch(list);
}
/**
* 查询修改状态
* @param pageId 包件ID
* @param type
*/
@Override
public void getUpdateOrderState(Long pageId,int type) {
switch (type){
case 1: //订单
DistributionStockVO distributionStockVO = baseMapper.selectParcelList(pageId);
if(ObjectUtils.isNotNull(distributionStockVO.getScanned())){
if(ObjectUtils.isNotNull(distributionStockVO) && ObjectUtils.isNotNull(distributionStockVO.getScanned())){
if(distributionStockVO.getScanned() == 0){
//修改
DistributionStockArticleEntity distributionStockArticle = new DistributionStockArticleEntity();
@ -213,20 +228,57 @@ public class DistributionStockServiceImpl extends BaseServiceImpl<DistributionSt
distributionStockArticleService.updateById(distributionStockArticle);
}
}
break;
break;
case 2: //备货
DistributionStockVO distributionStockVO1 = baseMapper.selectStockupInfo(pageId);
if(ObjectUtils.isNotNull(distributionStockVO1.getScanned()) && distributionStockVO1.getScanned() == 0){
//查询库存品
DistributionDeliveryDetailsVO distributionOrder = distributionDeliveryDetailsService.selectOrderCount(pageId);
if(ObjectUtils.isNotNull(distributionStockVO1.getScanned()) && distributionStockVO1.getScanned() == 0 ){
//修改备货任务
DistributionStockupEntity distributionStockupEntity = new DistributionStockupEntity();
distributionStockupEntity.setId(pageId);
distributionStockupEntity.setStockupStatus(StockupStatusConstant.yibeihuo.getValue());
distributionStockupMapper.updateById(distributionStockupEntity);
if(ObjectUtils.isNotNull(distributionOrder)){
int i = ObjectUtils.isNotNull(distributionOrder.getEsauNum()) ? distributionOrder.getEsauNum() : 0;
int ii = ObjectUtils.isNotNull(distributionOrder.getWholeNum()) ? distributionOrder.getWholeNum() : 0;
if(i == ii){
//查询库存品
getUpdateStockup(pageId);
}
}else{
//查询库存品
getUpdateStockup(pageId);
}
}
break;
break;
case 3://自提
DistributionStockVO distributionStockSelf = baseMapper.selectStockupInfoSelf(pageId);
//查询库存品
DistributionDeliveryDetailsVO distributionSelf = distributionDeliveryDetailsService.selectCount(pageId);
if(ObjectUtils.isNotNull(distributionStockSelf.getScanned())){
if(distributionStockSelf.getScanned() == distributionStockSelf.getWhole()){
//订单已扫完
if(ObjectUtils.isNotNull(distributionSelf)){
int i = ObjectUtils.isNotNull(distributionSelf.getEsauNum()) ? distributionSelf.getEsauNum() : 0;
int ii = ObjectUtils.isNotNull(distributionSelf.getWholeNum()) ? distributionSelf.getWholeNum() : 0;
if(i == ii){
//修改备货任务
getUpdateStockup(pageId);
}
}else{
//修改备货任务
getUpdateStockup(pageId);
}
}
}
break;
}
}
private void getUpdateStockup(Long pageId){
DistributionStockupEntity distributionStockupEntity = new DistributionStockupEntity();
distributionStockupEntity.setId(pageId);
distributionStockupEntity.setStockupStatus(StockupStatusConstant.yibeihuo.getValue());
distributionStockupMapper.updateById(distributionStockupEntity);
}
@Override
public Integer selectCount(Long id) {

8
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java

@ -20,6 +20,7 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
@ -493,8 +494,11 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
public IPage<DistributionStockupVO> detailOrderOwnSelf(IPage<Object> page, long parseLong) {
IPage<DistributionStockupVO> distributionStockupVOIPage = baseMapper.detailOrderOwnSelf(page, parseLong);
distributionStockupVOIPage.getRecords().forEach( o ->{
Integer integer = distributionStockService.selectCount(Long.parseLong(o.getStockArticleId()));
o.setNumber(integer);
if(ObjectUtils.isNotNull(o.getStockArticleId())){
Integer integer = distributionStockService.selectCount(Long.parseLong(o.getStockArticleId()));
o.setNumber(integer);
}
});
return distributionStockupVOIPage;
}

Loading…
Cancel
Save