Browse Source

Merge branch 'dev' into chenglong

pull/4/head
chenlong 1 year ago
parent
commit
6246d6e2f6
  1. 6
      blade-biz-common/src/main/java/org/springblade/common/constant/OldSystemDataPushConfig.java
  2. 1
      blade-biz-common/src/main/java/org/springblade/common/constant/printTemplate/PrintTemplateStatusConstant.java
  3. 3
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockArticleEntity.java
  4. 23
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/OrderCodeDataVO.java
  5. 19
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java
  6. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java
  7. 12
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml
  8. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.xml
  9. 9
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationStocklistMapper.java
  10. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationStocklistMapper.xml
  11. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.java
  12. 22
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml
  13. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml
  14. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java
  15. 42
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  16. 145
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java
  17. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
  18. 64
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java
  19. 9
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapeer.java
  20. 36
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml
  21. 25
      blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportDeliverServiceImpl.java
  22. 1
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java

6
blade-biz-common/src/main/java/org/springblade/common/constant/OldSystemDataPushConfig.java

@ -34,6 +34,12 @@ public class OldSystemDataPushConfig {
warehourseIds.add("123");
// 武汉
warehourseIds.add("48");
// 泸州
warehourseIds.add("43");
// 十堰
warehourseIds.add("64");
}

1
blade-biz-common/src/main/java/org/springblade/common/constant/printTemplate/PrintTemplateStatusConstant.java

@ -21,6 +21,7 @@ public enum PrintTemplateStatusConstant {
daiqueren_11("库存品包件模板","11"),
daiqueren_12("配送任务打印模板-商配","12"),
peisongtask_ziti("配送任务打印模板-自提","13"),
daiqueren_14("订单模版","15"),
daiqueren_1("配送任务打印模板-市配","1");
/**
* 状态

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

@ -450,6 +450,9 @@ public class DistributionStockArticleEntity extends TenantEntity {
@ApiModelProperty(value = "配载件数")
private Integer carsLoadNum;
@ApiModelProperty(value = "备注")
private String remark;
/**
/* * 未入库数量
*//*

23
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/OrderCodeDataVO.java

@ -0,0 +1,23 @@
package com.logpm.distribution.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
import java.util.Map;
/**
* 返回订单码页面 内容
*/
@Data
public class OrderCodeDataVO {
@ApiModelProperty(value = "模板ID")
private Long templateId;
@ApiModelProperty(value = "模板内容")
private String templateHtml;
@ApiModelProperty(value = "模板填充内容")
private List<Map<String,Object>> dataList;
}

19
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java

@ -26,10 +26,7 @@ import com.logpm.distribution.entity.DistributionStockArticleEntity;
import com.logpm.distribution.excel.DistributionStockArticleExcel;
import com.logpm.distribution.excel.DistributionStockArticleImporter;
import com.logpm.distribution.service.IDistributionStockArticleService;
import com.logpm.distribution.vo.DistributionParcelListVO;
import com.logpm.distribution.vo.DistributionParcelNumberVO;
import com.logpm.distribution.vo.DistributionStockArticleVO;
import com.logpm.distribution.vo.OrderPackgeCodeDataVO;
import com.logpm.distribution.vo.*;
import com.logpm.distribution.wrapper.DistributionStockArticleWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -485,6 +482,20 @@ public class DistributionStockArticleController extends BladeController {
@GetMapping("/showOrderCode")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "展示订单码")
public R showOrderCode(@ApiIgnore @RequestParam Map<String,Object> params){
OrderCodeDataVO orderCodeDataVO= null;
try {
orderCodeDataVO = distributionStockArticleService.showOrderCode(params);
} catch (Exception e) {
return R.fail(e.getMessage());
}
return R.data(orderCodeDataVO);
}
}

8
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java

@ -486,4 +486,12 @@ public interface DistributionDeliveryListMapper extends BaseMapper<DistributionD
Map<String, Object> selectDeliveryDriverInfo(@Param("deliveryId")Long deliveryId);
Integer selectOrderNumByDeliveryId(@Param("deliveryId")Long deliveryId);
/**
* 查询配送对应的签收信息
* @param deliveryId
* @return
*/
List<DistributionSignforEntity> selectSignforByDeliveryId(@Param("deliveryId")Long deliveryId);
}

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

@ -206,10 +206,12 @@
lddl.id = lds.delivery_id
) signingNumber,
GROUP_CONCAT(DISTINCT ldr.consignee SEPARATOR ',') clineName,
GROUP_CONCAT(DISTINCT ldr.mall_name SEPARATOR ',') mallName
GROUP_CONCAT(DISTINCT ldr.mall_name SEPARATOR ',') mallName,
(SELECT group_concat( DISTINCT ldsa.order_code SEPARATOR ',' ) FROM logpm_distribution_delivery_list lddll LEFT JOIN logpm_distribution_signfor lds ON lddll.id = lds.delivery_id LEFT JOIN logpm_distribution_reservation_stockarticle AS ldrs ON lds.reservation_id = ldrs.reservation_id AND ldrs.stock_article_status != 2 LEFT JOIN logpm_distribution_stock_article AS ldsa ON ldrs.stock_article_id = ldsa.id WHERE lddll.id = lddl.id GROUP BY lddl.id ) AS orderCode
FROM logpm_distribution_delivery_list lddl
left JOIN logpm_distribution_signfor lds on lddl.id = lds.delivery_id
LEFT JOIN logpm_distribution_reservation ldr on ldr.id = lds.reservation_id
LEFT JOIN (SELECT lddl.id,ldsa.order_code FROM logpm_distribution_delivery_list lddl LEFT JOIN logpm_distribution_signfor lds ON lddl.id = lds.delivery_id LEFT JOIN logpm_distribution_reservation_stockarticle AS ldrs ON lds.reservation_id = ldrs.reservation_id AND ldrs.stock_article_status != 2 LEFT JOIN logpm_distribution_stock_article AS ldsa ON ldrs.stock_article_id = ldsa.id ) AS y ON y.id = lddl.id
<where>
lddl.is_deleted = 0 AND (IF(lddl.delivery_number is null ,0,lddl.delivery_number) + IF(lddl.inventory_nub is null ,0,lddl.inventory_nub)) > 0 AND (lddl.customers_number > 0 AND ldr.reservation_num + ldr.reservation_stock_list_num) >0
<if test="param.trainNumber != null and param.trainNumber!=''">
@ -239,6 +241,9 @@
<if test="param.loadingTeamName != null and param.loadingTeamName!=''">
and lddl.loading_team_name like concat('%',#{param.loadingTeamName},'%')
</if>
<if test="param.orderCode != null and param.orderCode!=''">
and y.order_code like concat('%',#{param.orderCode},'%')
</if>
<if test="param.kind != null and param.kind!=''">
and lddl.kind = #{param.kind}
</if>
@ -2023,5 +2028,10 @@
AND reservation_num > 0
AND stock_article_status IN ('1','3')
</select>
<select id="selectSignforByDeliveryId"
resultType="com.logpm.distribution.entity.DistributionSignforEntity">
SELECT * FROM logpm_distribution_signfor AS lds LEFT JOIN logpm_distribution_reservation AS ldr ON lds.reservation_id = ldr.id
WHERE lds.delivery_id = #{deliveryId} AND (ldr.reservation_num + ldr.reservation_stock_list_num) > 0
</select>
</mapper>

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.xml

@ -257,7 +257,7 @@
<select id="getLoadCountNum" resultType="int">
SELECT
count( ldl.id )
IFNULL(sum(ldl.loaded_nub),0)
FROM
logpm_distribution_loadscan ldl
right JOIN logpm_distribution_reservation ldr on ldr.id= ldl.reservation_id and ldr.reservation_status !='40'

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

@ -81,4 +81,13 @@ public interface DistributionReservationStocklistMapper extends BaseMapper<Distr
* @return
*/
List<DistributionStockListEntity> selectInventory(@Param("reservationId") Long id);
/**
* 扣减计划库存品数量
* @param reservationId
* @param stockListId
* @param num
* @return
*/
int deductionStockListReservationNum(@Param("reservationId") Long reservationId,@Param("stockListId") Long stockListId,@Param("num") Integer num);
}

3
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationStocklistMapper.xml

@ -22,6 +22,9 @@
<result column="reserve4" property="reserve4"/>
<result column="reserve5" property="reserve5"/>
</resultMap>
<update id="deductionStockListReservationNum">
UPDATE logpm_distribution_reservation_stocklist SET reservation_num = (reservation_num -#{num}) WHERE reservation_id = #{reservationId} AND stocklist_id = #{stockListId}
</update>
<delete id="deleteReservationStocklist">
DELETE FROM logpm_distribution_reservation_stocklist WHERE reservation_id=#{id}

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

@ -181,4 +181,6 @@ public interface DistributionStockArticleMapper extends BaseMapper<DistributionS
List<DistributionStockArticleEntity> findListByOrderCodeLike(@Param("orderCode") String orderCode);
void submitHandleNumAndTotalNumberByOrderId(@Param("subNum") Integer subNum, @Param("articleId") Long articleId);
JSONObject findShowOrderCodeData(@Param("orderId") Long orderId);
}

22
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml

@ -454,6 +454,9 @@
<if test=" param.waybillNumLike != '' and param.waybillNumLike != null ">and ldsa.waybill_number like
concat('%',#{param.waybillNumLike},'%')
</if>
<if test=" param.typeService != '' and param.typeService != null ">
and ldsa.type_service = #{param.typeService}
</if>
<if test=" param.warehouseIdList != null ">and ldsa.warehouse_id in
<foreach collection="param.warehouseIdList" open="(" item="a" close=")" separator=",">
#{a}
@ -522,6 +525,9 @@
<if test=" param.customerName != null and param.customerName != '' ">and ldsa.customer_name like
concat('%',#{param.customerName},'%')
</if>
<if test="param.isZero != null and param.isZero != '' ">
and ldsa.is_zero = #{param.isZero}
</if>
<if test=" param.customerTelephone != null and param.customerTelephone != '' ">and
ldsa.customer_telephone like concat('%',#{param.customerTelephone},'%')
</if>
@ -1081,4 +1087,20 @@
where id = #{articleId}
</update>
<select id="findShowOrderCodeData" resultType="com.alibaba.fastjson.JSONObject">
select ldsa.order_code orderCode,
ldsa.consignee_unit consigneeUnit,
ldsa.consignee_person consigneePerson,
ldsa.consignee_mobile consigneeMobile,
ldsa.waybill_number waybillNo,
ldsa.total_number totalNumber,
ldsa.description_goods descriptionGoods,
ldsa.customer_name customerName,
ldsa.customer_telephone customerTelephone,
ldsa.customer_address customerAddress,
IFNULL(ldsa.remark,'') remark
from logpm_distribution_stock_article ldsa
where ldsa.id = #{orderId}
</select>
</mapper>

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml

@ -530,7 +530,7 @@
<select id="selectStockupClientInfo" resultType="com.logpm.distribution.vo.DistributionStockupListVO">
select DISTINCT ldr.consignee customer,
lds.stockup_status stockupStatus,
ldr.stock_status stockStatus,
ldsi.stock_status stockStatus,
lds.type_service typeService,
ldr.mall_name mallName,
(

1
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java

@ -240,4 +240,5 @@ public interface IDistributionStockArticleService extends BaseService<Distributi
*/
Boolean maintenanceOrderInfoByWarehouseId(String warehouseId);
OrderCodeDataVO showOrderCode(Map<String, Object> params) throws Exception;
}

42
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java

@ -62,6 +62,7 @@ import org.springblade.common.constant.DistributionTypeConstant;
import org.springblade.common.constant.Inventory.InventoryLoadingStatusConstant;
import org.springblade.common.constant.Inventory.InventorySigningStatusConstant;
import org.springblade.common.constant.Inventory.InventoryStockUpStatusConstant;
import org.springblade.common.constant.ModuleNameConstant;
import org.springblade.common.constant.RabbitConstant;
import org.springblade.common.constant.common.IsOrNoConstant;
import org.springblade.common.constant.delivery.DeliveryLoadingStatusConstant;
@ -74,6 +75,7 @@ import org.springblade.common.constant.order.OrderStatusConstant;
import org.springblade.common.constant.orderpackage.*;
import org.springblade.common.constant.printTemplate.PrintTemplateStatusConstant;
import org.springblade.common.constant.reservation.*;
import org.springblade.common.constant.signing.SignforDriverSigningStatusConstant;
import org.springblade.common.constant.signing.SignforStatusConstant;
import org.springblade.common.constant.stockup.StockAssignStatusConstant;
import org.springblade.common.constant.stockup.StockupStatusConstant;
@ -3976,13 +3978,13 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
List<DistributionReservationEntity> distributionReservationEntities = distributionReservationMapper.selectList(Wrappers.<DistributionReservationEntity>query().lambda().in(DistributionReservationEntity::getId, newReservationIds));
List<DistributionReservationEntity> needStockUpReservationList = distributionReservationEntities.stream().filter(r -> r.getStockupStatus().equals(ReservationStockupStatusConstant.weibeihuo.getValue())).collect(Collectors.toList());
DistributionStockupEntity stockupEntity = null;
BladeUser user = AuthUtil.getUser();
if (Func.isNotEmpty(needStockUpReservationList)) {
//需要进行备货的预约列表
stockupEntity = new DistributionStockupEntity();
stockupEntity.setAssignStatus(StockAssignStatusConstant.weizhipai.getValue());
stockupEntity.setStockupStatus(StockupStatusConstant.weibeihuo.getValue());
//这里就需要构建备货任务中间表
BladeUser user = AuthUtil.getUser();
stockupEntity.setTypeService(DistributionTypeConstant.shipie.getValue());
//编码生成规则 BH+仓库编码+年月日+序号00001
stockupEntity.setStockupCode(bianMa());
@ -4050,6 +4052,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionReservationMapper.updateById(reservationEntity);
//删除配送预约中间表信息
distributionSignforMapper.deleteByReservationAndDeliveryId(reservationEntity.getId(), deliveryListEntity.getId());
//删除Redis中的reservationCode
bladeRedis.del(user.getTenantId()+":"+ ModuleNameConstant.APPLICATION_DISTRIBUTION_NAME+":reservationLock"+reservationEntity.getReservationCode());
});
//修改备货信息
String kind = deliveryListEntity.getKind();
@ -7079,22 +7083,21 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
// List<DistributionSignforEntity> list = distributionSignforService.list(Wrappers.<DistributionSignforEntity>query().lambda()
// .eq(DistributionSignforEntity::getDeliveryId, deliveryId)
// );
List<DistributionReservationEntity> distributionReservationEntities = baseMapper.selectReservationByDeliveryListId(deliveryId);
// List<DistributionReservationEntity> distributionReservationEntities = baseMapper.selectReservationByDeliveryListId(deliveryId);
//查询客户列表
if (Func.isNotEmpty(distributionReservationEntities)){
log.info(">>>>>>>>>>>>>>> 维护配送车次客户数量:{}",distributionReservationEntities.size());
boolean flag = distributionReservationEntities.stream().allMatch(a -> ReservationSigningStatusConstant.yiqianshou.getValue().equals(a.getSigningStatus()));
log.info(">>>>>>>>>>>>>>> 客户是否完全签收 代码执行 list:{}",flag);
if (flag) {
deliveryListEntity.setDeliveryStatus(DeliveryStatusConstant.yiwancheng.getValue());
}
}else {
//查询不出此配送任务存在预约信息,进行配送车次取消
this.cancelDelivery(deliveryListEntity.getId());
log.info(deliveryListEntity.getTrainNumber()+">>>>>>>>>>>>>>> 取消全部配送信息:{}",deliveryId);
log.info(">>>>>>>>>>>>>>> 进行配送车次任务取消",deliveryId);
}
// if (Func.isNotEmpty(distributionReservationEntities)){
// log.info(">>>>>>>>>>>>>>> 维护配送车次客户数量:{}",distributionReservationEntities.size());
// boolean flag = distributionReservationEntities.stream().allMatch(a -> ReservationSigningStatusConstant.yiqianshou.getValue().equals(a.getSigningStatus()));
// log.info(">>>>>>>>>>>>>>> 客户是否完全签收 代码执行 list:{}",flag);
// if (flag) {
// deliveryListEntity.setDeliveryStatus(DeliveryStatusConstant.yiwancheng.getValue());
// }
// }else {
// //查询不出此配送任务存在预约信息,进行配送车次取消
// this.cancelDelivery(deliveryListEntity.getId());
// log.info(deliveryListEntity.getTrainNumber()+">>>>>>>>>>>>>>> 取消全部配送信息:{}",deliveryId);
// log.info(">>>>>>>>>>>>>>> 进行配送车次任务取消",deliveryId);
// }
// if (list.size()>0) {
@ -7108,7 +7111,12 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
// }else {
// log.error(method + "查询配送单签收信息错误,deliveryId:{}", deliveryId);
// }
//查询配送内有效的客户信息
List<DistributionSignforEntity> signforEntities = baseMapper.selectSignforByDeliveryId(deliveryId);
boolean flag = signforEntities.stream().allMatch(s -> SignforStatusConstant.yiqianshou.getValue().equals(s.getSigningStatus()));
if (flag){
deliveryListEntity.setDeliveryStatus(DeliveryStatusConstant.yiwancheng.getValue());
}
this.updateById(deliveryListEntity);
}
}

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

@ -42,9 +42,11 @@ import com.logpm.warehouse.feign.IWarehouseGoodsAllocationClient;
import com.logpm.warehouse.feign.IWarehouseWaybillClient;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.javassist.runtime.Inner;
import org.apache.logging.log4j.util.Strings;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.common.constant.DistributionTypeConstant;
import org.springblade.common.constant.Inventory.*;
import org.springblade.common.constant.ModuleNameConstant;
import org.springblade.common.constant.common.IsOrNoConstant;
import org.springblade.common.constant.delivery.DeliveryLoadingStatusConstant;
import org.springblade.common.constant.delivery.DeliveryStatusConstant;
@ -1125,6 +1127,8 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
if (Func.isEmpty(myCurrentWarehouse)) {
return R.fail("无仓库信息!!!");
}
BladeUser user = AuthUtil.getUser();
String reservationIds = allocationDTO.getReservationIds();
//创建备货任务
DistributionStockupDTO stockup = allocationDTO.getStockup();
@ -1179,6 +1183,12 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
StringBuilder driverNames = new StringBuilder();
//查询根据预约ID查询这些预约的备货状态
List<DistributionReservationEntity> reservationEntityList = baseMapper.selectList(Wrappers.<DistributionReservationEntity>query().lambda().in(DistributionReservationEntity::getId, ids));
//判断是否存在预约进行了配送任务的提交
boolean match = reservationEntityList.stream().anyMatch(r -> ReservationStatusConstant.daipeisong.getValue().equals(r.getReservationStatus()));
if (match){
String collect = reservationEntityList.stream().filter(r -> ReservationStatusConstant.daipeisong.getValue().equals(r.getReservationStatus())).map(DistributionReservationEntity::getReservationCode).collect(Collectors.joining(","));
return R.fail(collect+"已进行配送 请移除");
}
boolean flag = reservationEntityList.stream().anyMatch(s -> s.getStockupStatus().equals(ReservationStockupStatusConstant.weibeihuo.getValue()));
DistributionStockupEntity stockupEntity = null;
if (flag) {
@ -1208,7 +1218,6 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
// }
// distributionStockupEntity.setStockupUser(user.getUserName());
// distributionStockupEntity.setStockupUserId(user.getUserId());
BladeUser user = AuthUtil.getUser();
stockupEntity.setTypeService(DistributionTypeConstant.shipie.getValue());
//编码生成规则 BH+仓库编码+年月日+序号00001
stockupEntity.setStockupCode(bianMa());
@ -1219,8 +1228,16 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
distributionStockupService.save(stockupEntity);
}
HashSet<String> warehouseNames = new HashSet<>();
StringBuilder builder = new StringBuilder();
for (int i = 0; i < ids.size(); i++) {
DistributionReservationEntity reservationEntity = this.getById(ids.get(i));
String s = bladeRedis.get(user.getTenantId() + ":" + ModuleNameConstant.APPLICATION_DISTRIBUTION_NAME + ":reservationLock" + reservationEntity.getReservationCode());
if (Strings.isBlank(s)){
bladeRedis.setEx(user.getTenantId()+":"+ ModuleNameConstant.APPLICATION_DISTRIBUTION_NAME+":reservationLock"+reservationEntity.getReservationCode(),reservationEntity.getReservationCode(),60L*60L);
}else {
builder.append(reservationEntity.getReservationCode()+",");
continue;
}
if (Func.equals(reservationEntity.getStockupStatus(), ReservationStockupStatusConstant.weibeihuo.getValue())) {
//如果预约已经备货
DistributionStockupInfoEntity stockupInfoEntity = new DistributionStockupInfoEntity();
@ -1319,6 +1336,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
});
}
}
if (Func.isNotEmpty(builder)){
throw new RuntimeException(builder.toString()+"该预约单已进行配送请核对");
}
Long deliveryListId = distributionDeliveryListEntity.getId();
//操作司机信息
DistributionDeliveryTripartiteDTO tripartite = allocationDTO.getTripartite();
@ -1612,7 +1632,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
warehouseNames.add(stockArticleEntity.getWarehouse());
mallName.add(stockArticleEntity.getMallName());
mallId.add(stockArticleEntity.getMallId());
storeName.add(stockArticleEntity.getStoreName());
if (Func.isNotEmpty(stockArticleEntity.getStoreName())){
storeName.add(stockArticleEntity.getStoreName());
}
receivingUnit.add(distributionStockArticleDTO.getConsigneeUnit());
// Integer integer = distributionStockArticleMapper.augmentDeliveryQuantity(reservationStockarticleEntity.getStockArticleId(), reservationStockarticleEntity.getReservationNum());
//维护订单信息
@ -1751,13 +1773,14 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
warehouseNames.add(distributionStockArticleDTO.getWarehouse());
mallName.add(distributionStockArticleDTO.getMallName());
mallId.add(distributionStockArticleDTO.getMallId());
storeName.add(distributionStockArticleDTO.getStoreName());
if (Func.isNotEmpty(distributionStockArticleDTO.getStoreName())){
storeName.add(distributionStockArticleDTO.getStoreName());
}
receivingUnit.add(distributionStockArticleDTO.getConsigneeUnit());
// DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(distributionStockArticleDTO.getId());
// stockArticleEntity.setReservationStatus(status);
// distributionStockArticleService.updateById(stockArticleEntity);
}
});
@ -3068,6 +3091,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
s.setAllocation(null);
}
DistributionStockArticleDTO stockArticleDTO = Func.copy(s, DistributionStockArticleDTO.class);
DistributionReservationStockarticleEntity distributionReservationStockarticleEntity = new DistributionReservationStockarticleEntity();
if (s.getIsZero().equals("0")) {
WarehouseWaybillEntity wayBillEntity = warehouseWaybillClient.findByWaybillNo(s.getWaybillNumber());
@ -3079,10 +3103,6 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
}
}
// storeName.add(s.getStoreName());
// mallName.add(s.getMallName());
// warehouseNames.add(s.getWarehouse());
// orderNumber.add(s.getOrderCode());
if (Func.isNotBlank(s.getServiceNumber())) {
serviceNumber.add(s.getServiceNumber());
}
@ -3108,8 +3128,6 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
waybillNo.add(s.getWaybillNumber());
}
// DistributionStockArticleEntity stockArticleEntity = Func.copy(s, DistributionStockArticleEntity.class);
DistributionReservationStockarticleEntity distributionReservationStockarticleEntity = new DistributionReservationStockarticleEntity();
//预约订单数量
AtomicInteger packageNum = new AtomicInteger();
List<DistributionParcelListDTO> packageList = s.getPackageListInfo();
@ -3140,19 +3158,19 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
// p.setOrderPackageReservationStatus();
dp.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue());
distributionParcelListService.updateById(dp);
distributionAsyncService.checkStockArticleReservationStatus(dp);
// distributionAsyncService.checkStockArticleReservationStatus(dp);
}
}
// stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
});
s.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
s.setAvailableQuantity(0);
if (Func.isNotEmpty(s.getAllocation())) {
s.setAllocation(null);
}
distributionStockArticleService.updateById(s);
// s.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
// s.setAvailableQuantity(0);
// if (Func.isNotEmpty(s.getAllocation())) {
// s.setAllocation(null);
// }
// distributionStockArticleService.updateById(s);
} else {
//维护选中的包件信息
@ -3169,7 +3187,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
p.setOrderPackageReservationStatus(OrderPackageReservationStatusConstant.yiyueyue.getValue());
// p.setBrandId(p.getBrandId());
distributionParcelListService.updateById(p);
distributionAsyncService.checkStockArticleReservationStatus(p);
// distributionAsyncService.checkStockArticleReservationStatus(p);
}
}
@ -3188,20 +3206,11 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
// }
}
distributionReservationStockarticleEntity.setReservationNum(packageNum.get());
Long stockArticleId = s.getId();
distributionReservationStockarticleEntity.setReservationId(reservationId);
distributionReservationStockarticleEntity.setIsZero(s.getIsZero());
distributionReservationStockarticleEntity.setStockArticleId(stockArticleId);
distributionReservationStockarticleEntity.setStockArticleCode(s.getStockArticleCode());
distributionReservationStockarticleEntity.setIsHaveData(s.getIsHaveData());
distributionReservationStockarticleService.save(distributionReservationStockarticleEntity);
packageTotal.getAndAdd(distributionReservationStockarticleEntity.getReservationNum());
//维护对应订单的配送件数
// Integer i = distributionStockArticleMapper.augmentDeliveryQuantity(distributionReservationStockarticleEntity.getStockArticleId(),distributionReservationStockarticleEntity.getReservationNum());
distributionStockArticleService.maintenanceOrderInfo(s.getOrderCode(),myCurrentWarehouse.getId());
// distributionStockArticleService.maintenanceOrderInfo(s.getOrderCode(),myCurrentWarehouse.getId());
} else if (s.getIsZero().equals("1")) {
//零担订单处理
DistributionReservationStockarticleEntity distributionReservationStockarticleEntity = new DistributionReservationStockarticleEntity();
if (Func.isNotBlank(s.getServiceNumber())) {
serviceNumber.add(s.getServiceNumber());
}
@ -3247,7 +3256,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
DistributionParcelNumberEntity parcelNumberEntity = distributionParcelNumberService.getById(p.getId());
parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() + distributionReservationZeroPackageEntity.getQuantity());
distributionParcelNumberService.updateById(parcelNumberEntity);
distributionAsyncService.checkZeroStockArticleReservationStatus(parcelNumberEntity);
// distributionAsyncService.checkZeroStockArticleReservationStatus(parcelNumberEntity);
}
});
} else {
@ -3273,21 +3282,35 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
DistributionParcelNumberEntity parcelNumberEntity = distributionParcelNumberService.getById(l.getId());
parcelNumberEntity.setDeliveryQuantity(parcelNumberEntity.getDeliveryQuantity() + distributionReservationZeroPackageEntity.getQuantity());
distributionParcelNumberService.updateById(parcelNumberEntity);
distributionAsyncService.checkZeroStockArticleReservationStatus(parcelNumberEntity);
// distributionAsyncService.checkZeroStockArticleReservationStatus(parcelNumberEntity);
}
});
}
distributionReservationStockarticleEntity.setIsZero(IsOrNoConstant.yes.getValue());
distributionReservationStockarticleEntity.setReservationId(reservationId);
distributionReservationStockarticleEntity.setStockArticleId(s.getId());
distributionReservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.zhengchang.getValue());
distributionReservationStockarticleEntity.setStockArticleCode(s.getOrderCode());
distributionReservationStockarticleEntity.setIsHaveData(s.getIsHaveData());
// distributionReservationStockarticleEntity.setIsZero(IsOrNoConstant.yes.getValue());
// distributionReservationStockarticleEntity.setReservationId(reservationId);
// distributionReservationStockarticleEntity.setStockArticleId(s.getId());
// distributionReservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.zhengchang.getValue());
// distributionReservationStockarticleEntity.setStockArticleCode(s.getOrderCode());
// distributionReservationStockarticleEntity.setIsHaveData(s.getIsHaveData());
distributionReservationStockarticleEntity.setReservationNum(zeroPackageNum.get());
distributionReservationStockarticleService.save(distributionReservationStockarticleEntity);
packageTotal.getAndAdd(distributionReservationStockarticleEntity.getReservationNum());
// distributionReservationStockarticleService.save(distributionReservationStockarticleEntity);
// packageTotal.getAndAdd(distributionReservationStockarticleEntity.getReservationNum());
}
distributionAsyncService.changeOrderReservationStatus(stockArticleDTO);
Long stockArticleId = s.getId();
distributionReservationStockarticleEntity.setReservationId(reservationId);
distributionReservationStockarticleEntity.setIsZero(s.getIsZero());
distributionReservationStockarticleEntity.setStockArticleId(s.getId());
distributionReservationStockarticleEntity.setStockArticleCode(s.getOrderCode());
distributionReservationStockarticleEntity.setStockArticleStatus(ReservationOrderStatusConstant.zhengchang.getValue());
distributionReservationStockarticleEntity.setIsHaveData(s.getIsHaveData());
distributionReservationStockarticleService.save(distributionReservationStockarticleEntity);
packageTotal.getAndAdd(distributionReservationStockarticleEntity.getReservationNum());
// distributionAsyncService.changeOrderReservationStatus(stockArticleDTO);
distributionStockArticleService.maintenanceOrderInfo(s.getOrderCode(),s.getWarehouseId());
// WarehouseWaybillEntity byWaybillNo = warehouseWaybillClient.findByWaybillNo();
// String consigneeMobile = byWaybillNo.getConsigneeMobile();
});
@ -3618,13 +3641,14 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
if (Func.isEmpty(myCurrentWarehouse)){
return R.fail(403,"未授权!!!");
}
if (Func.isEmpty(distributionCancelReservationPackageDTO.getPackageIds())){
log.error(method+"packageId参数缺失");
return R.fail("请联系管理员....");
}
List<Long> list = Func.toLongList(distributionCancelReservationPackageDTO.getPackageIds());
switch (distributionCancelReservationPackageDTO.getType()){
case 1:
//取消包件
if (Func.isEmpty(distributionCancelReservationPackageDTO.getPackageIds())){
log.error(method+"packageId参数缺失");
return R.fail("请联系管理员....");
}
String[] split = distributionCancelReservationPackageDTO.getPackageIds().split(",");
List<DistributionParcelListEntity> distributionParcelListEntities = distributionReservationMapper.selectPackageListByReservationId(distributionCancelReservationPackageDTO.getReservationId());
String orderCodes = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getOrderCode).distinct().collect(Collectors.joining(","));
@ -3660,16 +3684,35 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
}
}
distributionStockArticleService.maintenanceOrderInfo(orderCodes,myCurrentWarehouse.getId());
//维护预约单状态
this.maintenanceReservationInfo(distributionCancelReservationPackageDTO.getReservationId());
//维护预约单数量
this.maintenanceReservationNum(distributionCancelReservationPackageDTO.getReservationId());
//维护配送任务状态
distributionDeliveryListService.maintenanceDeliveryInfo(distributionCancelReservationPackageDTO.getDeliveryId());
//维护配送任务数量
distributionDeliveryListService.maintenanceDeliveryNum(distributionCancelReservationPackageDTO.getDeliveryId());
break;
case 2:
//查询库存品包件
List<DisStockListDetailEntity> inventoryPackageList = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda()
.eq(DisStockListDetailEntity::getReservationId, distributionCancelReservationPackageDTO.getReservationId())
.in(DisStockListDetailEntity::getId, list)
.ne(DisStockListDetailEntity::getStockPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())
);
//取消库存品包件
for (DisStockListDetailEntity disStockListDetailEntity : inventoryPackageList) {
disStockListDetailEntity.setStockPackageStatus(ReservationPackageStatusConstant.quxiao.getValue());
disStockListDetailService.updateById(disStockListDetailEntity);
//扣减库存品计划取消数量
log.info("##############扣减库存品计划数量:{}",disStockListDetailEntity);
int a = distributionReservationStocklistMapper.deductionStockListReservationNum(disStockListDetailEntity.getReservationId(),disStockListDetailEntity.getStockListId(),disStockListDetailEntity.getNum());
}
//维护对应库存品信息
distributionReservationStocklistService.maintenanceReservationStockList(distributionCancelReservationPackageDTO.getReservationId());
break;
}
//维护预约单状态
this.maintenanceReservationInfo(distributionCancelReservationPackageDTO.getReservationId());
//维护预约单数量
this.maintenanceReservationNum(distributionCancelReservationPackageDTO.getReservationId());
//维护配送任务状态
distributionDeliveryListService.maintenanceDeliveryInfo(distributionCancelReservationPackageDTO.getDeliveryId());
//维护配送任务数量
distributionDeliveryListService.maintenanceDeliveryNum(distributionCancelReservationPackageDTO.getDeliveryId());
return R.status(true);
}

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

@ -763,7 +763,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
log.error("预约查询签收信息错误");
return R.fail("请联系管理员!!!");
}
if (signforEntity.getReceivedQuantity() <= 0) {
if ((signforEntity.getReceivedQuantity()+signforEntity.getReceivedinQuantity()) <= 0) {
log.error("signforack############未进行签收上传图片");
return R.fail("无签收数据");
}
@ -2522,7 +2522,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
log.error("预约查询签收信息错误");
return R.fail("请联系管理员!!!");
}
if (signforEntity.getReceivedQuantity() <= 0) {
if ((signforEntity.getReceivedQuantity() + signforEntity.getReceivedinQuantity()) <= 0) {
log.error("signforack############未进行签收上传图片");
return Resp.scanFail(12000, "请先进行签收扫描后上传图片", "请先进行签收扫描后上传图片", null);
}

64
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java

@ -19,7 +19,6 @@ package com.logpm.distribution.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@ -88,7 +87,6 @@ import java.io.IOException;
import java.util.*;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@ -842,6 +840,9 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
@Override
public IPage<DistributionStockArticleEntity> pageListOwe(IPage<Object> page, Map<String, Object> distributionStockArticle) {
DistributionStockArticleOweDTO stockArticleEntity = JSONObject.parseObject(JSONObject.toJSONString(distributionStockArticle), DistributionStockArticleOweDTO.class);
if (Func.isNotEmpty(distributionStockArticle.get("typeServer"))){
stockArticleEntity.setTypeService((String) distributionStockArticle.get("typeServer"));
}
if (Func.isNotEmpty(stockArticleEntity.getOrderCodeNum())) {
String anumbering = stockArticleEntity.getOrderCodeNum().trim();
List<String> list = CommonUtil.stringNum(anumbering);
@ -1828,6 +1829,65 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
return true;
}
@Override
public OrderCodeDataVO showOrderCode(Map<String, Object> params) throws Exception {
OrderCodeDataVO orderCodeDataVO = new OrderCodeDataVO();
List<Map<String,Object>> data = new ArrayList<>();
BasicPrintTemplateEntity template = basicPrintTemplateClient.getPrintTemplate(PrintTemplateStatusConstant.daiqueren_14.getValue());
if (ObjectUtil.isEmpty(template)) {
throw new ServiceException("模板内容未找到");
}
String html = TemplateUtil.getTemplateByUrl(template.getTemplateUrl());
orderCodeDataVO.setTemplateHtml(html);
orderCodeDataVO.setTemplateId(template.getId());
String ids = (String) params.get("ids");
String[] idArray = ids.split(",");
if (ObjectUtils.isNull(idArray)) {
throw new ServiceException("参数错误");
}
for (String orderId : idArray) {
JSONObject jsonObject = baseMapper.findShowOrderCodeData(Long.parseLong(orderId));
String orderCode = jsonObject.getString("orderCode");
String waybillNo = jsonObject.getString("waybillNo");
String descriptionGoods = jsonObject.getString("descriptionGoods");
Integer totalNumber = jsonObject.getInteger("totalNumber");
Map<String, Object> map = jsonObject.getInnerMap();
map.put("id", orderId);
String filename = QRCodeUtil.createCodeToFile(orderCode);
map.put("orderCodeImage", QRCodeUtil.getEmpAutograph(filename));
// 订单号 生成二维码
String fileTypeName = QRCodeUtil.createCodeToFile(orderCode);
map.put("imgType", QRCodeUtil.getEmpAutograph(fileTypeName));
if(orderCode.equals(waybillNo)){
map.put("product",descriptionGoods+"("+totalNumber+")");
}else{
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("stock_article_id",Long.parseLong(orderId));
List<DistributionParcelListEntity> list = distributionParcelListService.list(queryWrapper);
StringBuilder product = new StringBuilder();
for (DistributionParcelListEntity parcelListEntity : list) {
String firsts = parcelListEntity.getFirsts();
Integer quantity = parcelListEntity.getQuantity();
if(StringUtils.isBlank(product)){
product.append(firsts).append("(").append(quantity).append(")");
}else{
product.append(",").append(firsts).append("(").append(quantity).append(")");
}
}
map.put("product",product.toString());
}
data.add(map);
}
orderCodeDataVO.setDataList(data);
return orderCodeDataVO;
}
@Override
public DistributionStockArticleEntity findZeroByOrderCodeAndWarehouseId(String orderCode, Long warehouseId) {

9
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<StockOrderVO> getStockOrderPage(IPage<StockOrderVO> page, @Param("ew") Wrapper<StockOrderVO> queryWrapper);
/**
* 查询零担明细
* @param page
* @param queryWrapper
* @return
*/
List<ReportDetailVO> getDetailsZeroPage(IPage<ReportDetailVO> page,@Param("ew") QueryWrapper<ReportDetailVO> queryWrapper);
Long getDetailsZeroPageCount(@Param("ew") QueryWrapper<ReportDetailVO> queryWrapper);
}

36
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}
<if test="ew!=null and ew.customSqlSegment !=null and 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>
<sql id="detailsZeroPage">
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}
<if test="ew!=null and ew.customSqlSegment !=null and ew.customSqlSegment!=''">
@ -534,6 +535,10 @@
SELECT obj.id
FROM logpm_distribution_reservation obj
WHERE obj.id = t.id)
order by t.id desc
</sql>
<select id="getDetailsZeroPage" resultType="com.logpm.report.vo.ReportDetailVO">
<include refid="detailsZeroPage"></include>
</select>
<select id="getStockOrderPage" resultType="com.logpm.report.vo.StockOrderVO">
select waybill_number,
@ -611,5 +616,10 @@
${ew.customSqlSegment}
group by ldsa.id) t
</select>
<select id="getDetailsZeroPageCount" resultType="java.lang.Long">
select count(*) from (
<include refid="detailsZeroPage"></include>
) t
</select>
</mapper>

25
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<ReportDetailVO> detailsPage(ReportDetailVO vo, DevilerDetailsQuery query) {
Integer current = query.getCurrent();
Integer size = query.getSize();
IPage<ReportDetailVO> page = Condition.getPage(query);
QueryWrapper<ReportDetailVO> queryWrapper = QueryUtil.buildQueryWrapper(vo, ReportDetailVO.class);
detailsCustomQuery(query, queryWrapper);
return page.setRecords(reportDeliverMapeer.getDetailsPage(page, queryWrapper));
List<ReportDetailVO> 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<ReportDetailVO> 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<ReportDetailVO> queryWrapper) {

1
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java

@ -430,6 +430,7 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
entity.setCustomerName(splitOrderDTO.getCustomerPerson());
entity.setCustomerTelephone(splitOrderDTO.getCustomerMobile());
entity.setCustomerAddress(splitOrderDTO.getCustomerAddress());
entity.setRemark(splitOrderDTO.getRemark());
List<ProductDTO> products = splitOrderDTO.getProducts();
StringBuffer stringBuffer = new StringBuffer();
Integer allNum = 0;

Loading…
Cancel
Save