Browse Source

1.自提模块APP接口完成

dev-warehouse
zhenghaoyu 2 years ago
parent
commit
c3877be039
  1. 60
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionBillLadingScanEntity.java
  2. 29
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistrilbutionBillLadingAppVO.java
  3. 41
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistrilbutionAppBillLadingDetailVO.java
  4. 42
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistrilbutionAppBillLadingOrderMainVO.java
  5. 43
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistrilbutionAppBillLadingOrderVO.java
  6. 26
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionBillLadingAppController.java
  7. 9
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionBillLadingScanMapper.java
  8. 9
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.java
  9. 56
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml
  10. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionBillLadingScanService.java
  11. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistrilbutionBillLadingService.java
  12. 14
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionBillLadingScanServiceImpl.java
  13. 193
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

60
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionBillLadingScanEntity.java

@ -0,0 +1,60 @@
package com.logpm.distribution.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
@Data
@TableName("logpm_distribution_bill_lading_scan")
@ApiModel(value = "DistributionBillLadingScan对象", description = "自提扫描表")
@EqualsAndHashCode(callSuper = true)
public class DistributionBillLadingScanEntity extends BaseEntity {
/**
* 预留1
*/
@ApiModelProperty(value = "预留1")
private String reserve1;
/**
* 预留2
*/
@ApiModelProperty(value = "预留2")
private String reserve2;
/**
* 预留3
*/
@ApiModelProperty(value = "预留3")
private String reserve3;
/**
* 预留4
*/
@ApiModelProperty(value = "预留4")
private String reserve4;
/**
* 预留5
*/
@ApiModelProperty(value = "预留5")
private String reserve5;
@ApiModelProperty(value = "包件码")
private String packetBarCode;
@ApiModelProperty(value = "节点")
private Integer nodeType;
@ApiModelProperty(value = "扫码类型 1 pda扫码 2 手填")
private Integer scanType;
@ApiModelProperty(value = "包件id")
private Long parcelListId;
@ApiModelProperty(value = "订单自编号")
private String orderSelfNumbering;
@ApiModelProperty(value = "订单id")
private Long stockArticleId;
}

29
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistrilbutionBillLadingAppVO.java

@ -17,9 +17,14 @@
package com.logpm.distribution.vo;
import com.logpm.distribution.entity.DistrilbutionBillLadingEntity;
import com.logpm.distribution.vo.app.DistrilbutionAppBillLadingDetailVO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 提货单 视图实体类
*
@ -31,9 +36,31 @@ import lombok.EqualsAndHashCode;
public class DistrilbutionBillLadingAppVO extends DistrilbutionBillLadingEntity {
private static final long serialVersionUID = 1L;
private String stockArticleId;
private Integer carType;
private String carTypeStr;
// private Integer
private String condition;//提货状态
private String conditionStr;//提货状态
private String pickUpPlate;//车牌号
private String consignee;//提货人
private String stockupStatus;//备货状态
private String stockupStatusStr;
private Date createTime;//制单时间
private Date pickUpTime;//提货时间
private Integer orderNum;//订单总数
private Integer planNum;//自提件数
private Integer signedNum;//签收总数
private Integer completeNum;//齐套总数
private List<DistrilbutionAppBillLadingDetailVO> list = new ArrayList<>();
}

41
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistrilbutionAppBillLadingDetailVO.java

@ -0,0 +1,41 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.distribution.vo.app;
import lombok.Data;
import java.io.Serializable;
/**
* 提货单 视图实体类
*
* @author cyz
* @since 2023-06-14
*/
@Data
public class DistrilbutionAppBillLadingDetailVO implements Serializable {
private static final long serialVersionUID = 1L;
private Long stockArticleId;
private String orderSelfNumbering;
private String packetBarCode;
private Integer scanStatus;//扫码状态
private Integer errorStatus;//异常状态
}

42
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistrilbutionAppBillLadingOrderMainVO.java

@ -0,0 +1,42 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.distribution.vo.app;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 提货单 视图实体类
*
* @author cyz
* @since 2023-06-14
*/
@Data
public class DistrilbutionAppBillLadingOrderMainVO implements Serializable {
private static final long serialVersionUID = 1L;
private Integer orderNum;//订单总数
private Integer completeNum;//订单总数
private Integer planNum;//自提件数
private Integer signedNum;//签收总数
private List<DistrilbutionAppBillLadingOrderVO> list = new ArrayList<>();
}

43
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistrilbutionAppBillLadingOrderVO.java

@ -0,0 +1,43 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.distribution.vo.app;
import lombok.Data;
import java.io.Serializable;
/**
* 提货单 视图实体类
*
* @author cyz
* @since 2023-06-14
*/
@Data
public class DistrilbutionAppBillLadingOrderVO implements Serializable {
private static final long serialVersionUID = 1L;
private Long stockArticleId;
private String orderSelfNumbering;
private Integer orderStatus;//状态
private Integer planNum;//自提件数
private Integer signedNum;//签收总数
}

26
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionBillLadingAppController.java

@ -19,7 +19,8 @@ package com.logpm.distribution.appcontroller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.distribution.service.IDistrilbutionBillLadingService;
import com.logpm.distribution.vo.DistrilbutionBillLadingVO;
import com.logpm.distribution.vo.DistrilbutionBillLadingAppVO;
import com.logpm.distribution.vo.app.DistrilbutionAppBillLadingOrderMainVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@ -59,11 +60,30 @@ public class DistributionBillLadingAppController extends BladeController {
@GetMapping("/pageList")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "分页列表", notes = "传入stockupDTO")
public R<IPage<DistrilbutionBillLadingVO>> pageList(@ApiIgnore @RequestParam Map<String, Object> distrilbutionBillLading, Query query) {
IPage<DistrilbutionBillLadingVO> pages = distrilbutionBillLadingService.pageList(Condition.getPage(query), distrilbutionBillLading);
public R<IPage<DistrilbutionBillLadingAppVO>> pageList(@ApiIgnore @RequestParam Map<String, Object> distrilbutionBillLading, Query query) {
IPage<DistrilbutionBillLadingAppVO> pages = distrilbutionBillLadingService.pageListApp(Condition.getPage(query), distrilbutionBillLading);
return R.data(pages);
}
@GetMapping("/orderList")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "订单列表", notes = "传入stockupDTO")
public R<DistrilbutionAppBillLadingOrderMainVO> orderList(@ApiIgnore @RequestParam Map<String, Object> distrilbutionBillLading) {
Integer orderStatus = (Integer) distrilbutionBillLading.get("orderStatus");//订单状态
Long billLadingId = (Long) distrilbutionBillLading.get("billLadingId");//自提单id
DistrilbutionAppBillLadingOrderMainVO vo = distrilbutionBillLadingService.selectOrderList(billLadingId,orderStatus);
return R.data(vo);
}
@GetMapping("/detailList")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "包件列表", notes = "传入stockupDTO")
public R<DistrilbutionBillLadingAppVO> detailList(@ApiIgnore @RequestParam Map<String, Object> distrilbutionBillLading) {
Integer scanStatus = (Integer) distrilbutionBillLading.get("scanStatus");//扫描状态
Long billLadingId = (Long) distrilbutionBillLading.get("billLadingId");//自提单id
String orderSelfNumbering = (String) distrilbutionBillLading.get("orderSelfNumbering");//自提单id
DistrilbutionBillLadingAppVO vo = distrilbutionBillLadingService.selectDetailList(billLadingId,scanStatus,orderSelfNumbering);
return R.data(vo);
}
}

9
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionBillLadingScanMapper.java

@ -0,0 +1,9 @@
package com.logpm.distribution.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.logpm.distribution.entity.DistributionBillLadingScanEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface DistributionBillLadingScanMapper extends BaseMapper<DistributionBillLadingScanEntity> {
}

9
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.java

@ -18,13 +18,16 @@ package com.logpm.distribution.mapper;
import com.logpm.distribution.dto.DistrilbutionBillLadingDTO;
import com.logpm.distribution.entity.DistrilbutionBillLadingEntity;
import com.logpm.distribution.vo.DistrilbutionBillLadingAppVO;
import com.logpm.distribution.vo.DistrilbutionBillLadingVO;
import com.logpm.distribution.excel.DistrilbutionBillLadingExcel;
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.app.DistrilbutionAppBillLadingDetailVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 提货单 Mapper 接口
@ -53,4 +56,10 @@ public interface DistrilbutionBillLadingMapper extends BaseMapper<DistrilbutionB
List<DistrilbutionBillLadingExcel> exportDistrilbutionBillLading(@Param("ew") Wrapper<DistrilbutionBillLadingEntity> queryWrapper);
IPage<DistrilbutionBillLadingVO> pageList(IPage<Object> page, @Param("param") DistrilbutionBillLadingDTO distrilbutionBillLadingDTO);
IPage<DistrilbutionBillLadingAppVO> pageListApp(IPage<Object> page, @Param("param") Map<String, Object> distrilbutionBillLading);
DistrilbutionBillLadingAppVO selectDataByBillLadingId(@Param("billLadingId") Long billLadingId);
List<DistrilbutionAppBillLadingDetailVO> selectDetailList(@Param("stockArticleId") Long stockArticleId, @Param("scanStatus") Integer scanStatus,@Param("orderSelfNumbering") String orderSelfNumbering);
}

56
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml

@ -63,4 +63,60 @@
SELECT * FROM logpm_distrilbution_bill_lading ${ew.customSqlSegment}
</select>
<select id="pageListApp" resultType="com.logpm.distribution.vo.DistrilbutionBillLadingAppVO">
select 3 carType,
bl.`condition` `condition`,
bl.Pick_up_plate pickUpPlate,
bl.consignee consignee,
bl.create_time,
bl.pick_up_time,
bl.stock_article_id stockArticleId
from logpm_distrilbution_bill_lading bl
where bl.is_deleted = 0
and DATE_FORMAT(bl.pick_up_time,'%Y-%m-%d') = #{param.pickUpTime}
</select>
<select id="selectDataByBillLadingId" resultType="com.logpm.distribution.vo.DistrilbutionBillLadingAppVO">
select 3 carType,
bl.`condition` `condition`,
bl.Pick_up_plate pickUpPlate,
bl.consignee consignee,
bl.create_time,
bl.pick_up_time,
bl.stock_article_id stockArticleId
from logpm_distrilbution_bill_lading bl
where bl.is_deleted = 0
and bl.id = #{billLadingId}
</select>
<select id="selectDetailList" resultType="com.logpm.distribution.vo.app.DistrilbutionAppBillLadingDetailVO">
select pl.stock_article_id stockArticleId,
pl.order_self_numbering orderSelfNumbering,
pl.packet_bar_code packetBarCode,
case
when bls.id is null then 0
else 1
end scanStatus,
0 errorStatus
from logpm_distribution_parcel_list pl
left join logpm_distribution_bill_lading_scan bls on bls.parcel_list_id = pl.id and sa.is_deleted = 0
<where>
and pl.is_deleted = 0
and pl.stock_article_id = #{stockArticleId}
<if test="orderSelfNumbering != null and orderSelfNumbering !=''">
and pl.order_self_numbering like ${orderSelfNumbering}
</if>
<if test="scanStatus != null and scanStatus=0">
and bls.id is null
</if>
<if test="scanStatus != null and scanStatus=1">
and bls.id is not null
</if>
</where>
where pl.is_deleted = 0
and pl.stock_article_id =
and bls.id is null
</select>
</mapper>

7
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionBillLadingScanService.java

@ -0,0 +1,7 @@
package com.logpm.distribution.service;
import com.logpm.distribution.entity.DistributionBillLadingScanEntity;
import org.springblade.core.mp.base.BaseService;
public interface IDistributionBillLadingScanService extends BaseService<DistributionBillLadingScanEntity> {
}

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

@ -19,9 +19,11 @@ package com.logpm.distribution.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.logpm.distribution.dto.DistrilbutionBillLadingDTO;
import com.logpm.distribution.entity.DistrilbutionBillLadingEntity;
import com.logpm.distribution.vo.DistrilbutionBillLadingAppVO;
import com.logpm.distribution.vo.DistrilbutionBillLadingVO;
import com.logpm.distribution.excel.DistrilbutionBillLadingExcel;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.vo.app.DistrilbutionAppBillLadingOrderMainVO;
import org.springblade.core.mp.base.BaseService;
import java.util.List;
import java.util.Map;
@ -54,4 +56,12 @@ public interface IDistrilbutionBillLadingService extends BaseService<Distrilbuti
Boolean ownSaveOrUpdate(DistrilbutionBillLadingDTO distrilbutionBillLading);
IPage<DistrilbutionBillLadingVO> pageList(IPage<Object> page, Map<String, Object> distrilbutionBillLading);
IPage<DistrilbutionBillLadingAppVO> pageListApp(IPage<Object> page, Map<String, Object> distrilbutionBillLading);
DistrilbutionAppBillLadingOrderMainVO selectOrderList(Long billLadingId, Integer orderStatus);
DistrilbutionBillLadingAppVO selectDetailList(Long billLadingId, Integer scanStatus,String orderSelfNumbering);
}

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

@ -0,0 +1,14 @@
package com.logpm.distribution.service.impl;
import com.logpm.distribution.entity.DistributionBillLadingScanEntity;
import com.logpm.distribution.mapper.DistributionBillLadingScanMapper;
import com.logpm.distribution.service.IDistributionBillLadingScanService;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
@Service
@AllArgsConstructor
public class DistributionBillLadingScanServiceImpl extends BaseServiceImpl<DistributionBillLadingScanMapper, DistributionBillLadingScanEntity> implements IDistributionBillLadingScanService {
}

193
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

@ -16,30 +16,34 @@
*/
package com.logpm.distribution.service.impl;
import cn.hutool.log.Log;
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.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.logpm.distribution.dto.DistributionStockDTO;
import com.logpm.distribution.dto.DistrilbutionBillLadingDTO;
import com.logpm.distribution.entity.*;
import com.logpm.distribution.service.*;
import com.logpm.distribution.vo.DistrilbutionBillLadingVO;
import com.logpm.distribution.excel.DistrilbutionBillLadingExcel;
import com.logpm.distribution.mapper.DistrilbutionBillLadingMapper;
import com.logpm.distribution.service.*;
import com.logpm.distribution.vo.DistrilbutionBillLadingAppVO;
import com.logpm.distribution.vo.DistrilbutionBillLadingVO;
import com.logpm.distribution.vo.app.DistrilbutionAppBillLadingDetailVO;
import com.logpm.distribution.vo.app.DistrilbutionAppBillLadingOrderMainVO;
import com.logpm.distribution.vo.app.DistrilbutionAppBillLadingOrderVO;
import lombok.AllArgsConstructor;
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.springblade.core.tool.utils.StringUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.Objects;
/**
* 提货单 服务实现类
@ -59,6 +63,10 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
private final IDistributionStockArticleService distributionStockArticleService;
private final IDistributionParcelListService distributionParcelListService;
private final IDistributionBillLadingScanService distributionBillLadingScanService;
@Override
public IPage<DistrilbutionBillLadingVO> selectDistrilbutionBillLadingPage(IPage<DistrilbutionBillLadingVO> page, DistrilbutionBillLadingVO distrilbutionBillLading) {
@ -218,4 +226,173 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
return distributionPrintService.saveBatch(list2);
}
@Override
public IPage<DistrilbutionBillLadingAppVO> pageListApp(IPage<Object> page, Map<String, Object> distrilbutionBillLading) {
IPage<DistrilbutionBillLadingAppVO> pageList = baseMapper.pageListApp(page, distrilbutionBillLading);
List<DistrilbutionBillLadingAppVO> records = pageList.getRecords();
for (DistrilbutionBillLadingAppVO vo:records){
//有可能存在多个订单所以需要拆分
String stockArticleId = vo.getStockArticleId();
Integer orderNum = 0;
Integer planNum = 0;
Integer signedNum = 0;
String[] split = stockArticleId.split(",");
for (String s:split){
if(StringUtil.isBlank(s)){
continue;
}
orderNum++;
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("stock_article_id",Long.parseLong(s))
.eq("is_deleted",0);
List<DistributionParcelListEntity> list = distributionParcelListService.list(queryWrapper);
int pn = list.size();
planNum = planNum + pn;
//通过订单id查询扫描表中有多少数据
QueryWrapper<DistributionBillLadingScanEntity> qw = new QueryWrapper<>();
qw.eq("stock_article_id",Long.parseLong(s))
.eq("is_deleted",0);
List<DistributionBillLadingScanEntity> ls = distributionBillLadingScanService.list(qw);
int sn = ls.size();
signedNum = signedNum +sn;
}
vo.setOrderNum(orderNum);
vo.setPlanNum(planNum);
vo.setSignedNum(signedNum);
}
pageList.setRecords(records);
return pageList;
}
@Override
public DistrilbutionAppBillLadingOrderMainVO selectOrderList(Long billLadingId, Integer orderStatus) {
DistrilbutionBillLadingAppVO main = baseMapper.selectDataByBillLadingId(billLadingId);
if(Objects.isNull(main)){
return null;
}
//有可能存在多个订单所以需要拆分
String stockArticleId = main.getStockArticleId();
Integer orderNum = 0;
Integer planNum = 0;
Integer conpleteNum = 0;
Integer signedNum = 0;
String[] split = stockArticleId.split(",");
List<DistrilbutionAppBillLadingOrderVO> l = new ArrayList<>();
for (String s:split){
if(StringUtil.isBlank(s)){
continue;
}
DistrilbutionAppBillLadingOrderVO vo = new DistrilbutionAppBillLadingOrderVO();
vo.setStockArticleId(Long.parseLong(s));
orderNum++;
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("stock_article_id",Long.parseLong(s))
.eq("is_deleted",0);
List<DistributionParcelListEntity> list = distributionParcelListService.list(queryWrapper);
vo.setOrderSelfNumbering(list.get(0).getOrderSelfNumbering());
int pn = list.size();
vo.setPlanNum(pn);
planNum = planNum + pn;
//通过订单id查询扫描表中有多少数据
QueryWrapper<DistributionBillLadingScanEntity> qw = new QueryWrapper<>();
qw.eq("stock_article_id",Long.parseLong(s))
.eq("is_deleted",0);
List<DistributionBillLadingScanEntity> ls = distributionBillLadingScanService.list(qw);
int sn = ls.size();
vo.setSignedNum(sn);
signedNum = signedNum +sn;
if(pn == sn){
conpleteNum++;
}
//0 全部 1 齐套 2部分扫 3未扫
if(orderStatus == 0){
l.add(vo);
}else if(orderStatus == 1){
if(pn == sn){
l.add(vo);
}
}else if(orderStatus == 2){
if(sn<pn){
l.add(vo);
}
}else if(orderStatus == 3){
if(sn == 0){
l.add(vo);
}
}
}
DistrilbutionAppBillLadingOrderMainVO mainVO = new DistrilbutionAppBillLadingOrderMainVO();
mainVO.setOrderNum(orderNum);
mainVO.setPlanNum(planNum);
mainVO.setSignedNum(signedNum);
mainVO.setCompleteNum(conpleteNum);
mainVO.setList(l);
return mainVO;
}
@Override
public DistrilbutionBillLadingAppVO selectDetailList(Long billLadingId, Integer scanStatus,String orderSelfNumbering) {
DistrilbutionBillLadingAppVO main = baseMapper.selectDataByBillLadingId(billLadingId);
if(Objects.isNull(main)){
return null;
}
//有可能存在多个订单所以需要拆分
String stockArticleId = main.getStockArticleId();
List<DistrilbutionAppBillLadingDetailVO> dls = main.getList();
Integer orderNum = 0;
Integer planNum = 0;
Integer conpleteNum = 0;
Integer signedNum = 0;
String[] split = stockArticleId.split(",");
for (String s:split){
if(StringUtil.isBlank(s)){
continue;
}
//查询所有的包件列表并且附带状态
List<DistrilbutionAppBillLadingDetailVO> details = baseMapper.selectDetailList(Long.parseLong(s),scanStatus,"%"+orderSelfNumbering+"%");
dls.addAll(details);
orderNum++;
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("stock_article_id",Long.parseLong(s))
.eq("is_deleted",0);
List<DistributionParcelListEntity> list = distributionParcelListService.list(queryWrapper);
int pn = list.size();
planNum = planNum + pn;
//通过订单id查询扫描表中有多少数据
QueryWrapper<DistributionBillLadingScanEntity> qw = new QueryWrapper<>();
qw.eq("stock_article_id",Long.parseLong(s))
.eq("is_deleted",0);
List<DistributionBillLadingScanEntity> ls = distributionBillLadingScanService.list(qw);
int sn = ls.size();
signedNum = signedNum +sn;
if(pn == sn){
conpleteNum++;
}
}
main.setCompleteNum(conpleteNum);
main.setOrderNum(orderNum);
main.setSignedNum(signedNum);
main.setPlanNum(planNum);
main.setList(dls);
return main;
}
}

Loading…
Cancel
Save