diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapeer.java b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapeer.java index db23a5f52..25c228aac 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapeer.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapeer.java @@ -1,6 +1,7 @@ package com.logpm.report.mapper; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.logpm.report.vo.ReportCustomerVO; @@ -55,4 +56,12 @@ public interface ReportDeliverMapeer extends BaseMapper { */ List getStockOrderPage(IPage page, @Param("ew") Wrapper queryWrapper); + /** + * 查询零担明细 + * @param page + * @param queryWrapper + * @return + */ + List getDetailsZeroPage(IPage page,@Param("ew") QueryWrapper queryWrapper); + Long getDetailsZeroPageCount(@Param("ew") QueryWrapper queryWrapper); } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml index 097fbff78..54c3582ee 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml @@ -359,16 +359,17 @@ ldla.auditing_time auditing_time FROM logpm_distribution_reservation_package drp LEFT JOIN logpm_distribution_parcel_list dpl - ON dpl.order_package_code = drp.packet_bar_code AND dpl.is_deleted = 0 + ON dpl.id = drp.parce_list_id left join logpm_distribution_reservation obj on drp.reservation_id = obj.id - LEFT JOIN logpm_distribution_signfor lds ON lds.reservation_id = drp.reservation_id + LEFT JOIN logpm_distribution_signfor lds ON lds.reservation_id = obj.id LEFT JOIN logpm_distribution_delivery_list lddl ON lds.delivery_id = lddl.id - LEFT JOIN logpm_warehouse_waybill wi ON wi.id = obj.waybill_id + LEFT JOIN logpm_warehouse_waybill wi ON wi.id = dpl.waybill_id LEFT JOIN logpm_distribution_loadscan ldl - ON ldl.order_package_code = dpl.order_package_code + ON ldl.package_id = dpl.id AND ldl.type = 2 LEFT JOIN logpm_distribution_loadscan_abnormal ldla - ON ldla.package_code = dpl.order_package_code + ON ldla.package_id = dpl.id + where drp.packet_bar_status != 2 ) t ${ew.customSqlSegment} @@ -381,10 +382,9 @@ SELECT obj.id FROM logpm_distribution_reservation obj WHERE obj.id = t.id) - - - union all - + order by t.id desc + + select id, train_number, @@ -514,14 +514,15 @@ LEFT JOIN logpm_distribution_parcel_list dpl ON dpl.id = drp.parcel_list_id left join logpm_distribution_reservation obj on drp.reservation_id = obj.id - LEFT JOIN logpm_distribution_signfor lds ON lds.reservation_id = drp.reservation_id + LEFT JOIN logpm_distribution_signfor lds ON lds.reservation_id = obj.id LEFT JOIN logpm_distribution_delivery_list lddl ON lds.delivery_id = lddl.id - LEFT JOIN logpm_warehouse_waybill wi ON wi.id = obj.waybill_id + LEFT JOIN logpm_warehouse_waybill wi ON wi.id = dpl.waybill_id LEFT JOIN logpm_distribution_loadscan ldl - ON ldl.order_package_code = dpl.order_package_code + ON ldl.package_id = dpl.id AND ldl.type = 2 LEFT JOIN logpm_distribution_loadscan_abnormal ldla - ON ldla.package_code = dpl.order_package_code + ON ldla.package_id = dpl.id + where drp.zero_package_status != 2 ) t ${ew.customSqlSegment} @@ -534,6 +535,10 @@ SELECT obj.id FROM logpm_distribution_reservation obj WHERE obj.id = t.id) + order by t.id desc + + + diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportDeliverServiceImpl.java b/blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportDeliverServiceImpl.java index c37999c00..f97714c54 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportDeliverServiceImpl.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportDeliverServiceImpl.java @@ -1,5 +1,6 @@ package com.logpm.report.service.impl; +import cn.hutool.core.util.NumberUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.logpm.report.mapper.ReportDeliverMapeer; @@ -23,6 +24,7 @@ import org.springblade.core.mp.support.Condition; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * @author zhaoqiaobo @@ -109,10 +111,31 @@ public class ReportDeliverServiceImpl implements ReportDeliverService { @Override public IPage detailsPage(ReportDetailVO vo, DevilerDetailsQuery query) { + Integer current = query.getCurrent(); + Integer size = query.getSize(); IPage page = Condition.getPage(query); QueryWrapper queryWrapper = QueryUtil.buildQueryWrapper(vo, ReportDetailVO.class); detailsCustomQuery(query, queryWrapper); - return page.setRecords(reportDeliverMapeer.getDetailsPage(page, queryWrapper)); + List detailsPage = reportDeliverMapeer.getDetailsPage(page, queryWrapper); + // 包件总数 + long total = page.getTotal(); + // 零件总数 + Long detailsZeroPageCount = reportDeliverMapeer.getDetailsZeroPageCount(queryWrapper); + long allTotal = total + detailsZeroPageCount; + // 包件没数据查零担 + if (detailsPage.size() < size) { + int zeroSize = size - detailsPage.size(); + double div = NumberUtil.div(allTotal, size.doubleValue()); + long zeroCurrent = current - (int) Math.ceil(div) + 1; + page.setCurrent(zeroCurrent); + page.setSize(zeroSize); + List zeroPage = reportDeliverMapeer.getDetailsZeroPage(page, queryWrapper); + page.setCurrent(current); + page.setSize(size); + detailsPage.addAll(zeroPage); + } + page.setTotal(allTotal); + return page.setRecords(detailsPage); } private void detailsCustomQuery(DevilerDetailsQuery query, QueryWrapper queryWrapper) {