diff --git a/blade-biz-common/src/main/java/org/springblade/common/cache/CacheNames.java b/blade-biz-common/src/main/java/org/springblade/common/cache/CacheNames.java index b2f1599ab..77adba6a8 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/cache/CacheNames.java +++ b/blade-biz-common/src/main/java/org/springblade/common/cache/CacheNames.java @@ -83,4 +83,9 @@ public interface CacheNames { * 模拟登录缓存对象 */ String LOCAL_SERVER_USER = "logpm:user:local:user:"; + + /** + * 模拟登录缓存对象 + */ + String USER_TABLE_SET = "user:table:set:"; } diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/basiccode/BasicCodeShowConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/basiccode/BasicCodeShowConstant.java new file mode 100644 index 000000000..16d32b9c9 --- /dev/null +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/basiccode/BasicCodeShowConstant.java @@ -0,0 +1,44 @@ +package org.springblade.common.constant.basiccode; + +import lombok.Data; + +/** + * 租户编码姐 + * 类型码表 + */ +public enum BasicCodeShowConstant { + + /** + * 二维码 + */ + QR_CODE("qr_code",1), + + /** + * 条形码 + */ + BAR_CODE("bar_code",2); + + + /** + * 状态 + */ + private String name; + + /** + * 值 + */ + private Integer value; + + BasicCodeShowConstant(String name, Integer value) { + this.name = name; + this.value = value; + } + + public String getName() { + return name; + } + + public Integer getValue() { + return value; + } +} diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/basiccode/BasicCodeTypeConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/basiccode/BasicCodeTypeConstant.java new file mode 100644 index 000000000..6baba2791 --- /dev/null +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/basiccode/BasicCodeTypeConstant.java @@ -0,0 +1,68 @@ +package org.springblade.common.constant.basiccode; + +/** + * 租户编码姐 + * 类型码表 + */ +public enum BasicCodeTypeConstant { + + + waybill_code("运单码","1"), + ORDER_CODE("订单码","2"), + ORDER_PACKAGE_CODE("包件码","3"), +// 仓库码 + WAREHOUSE_CODE("仓库码","4"), + // 货区码 + AREA_CODE("货区码","5"), + // 货架码 + SHELF_CODE("货架码","6"), + // 货位码 + POSITION_CODE("货位码","7"), + // 托盘码 + TRAY_CODE("托盘码","8"), + // 客户编码 + CLIENT_CODE("客户编码","9"), + // 提货单 配载计划 三方中转 直发商家签收单 + // 提货单码 + PICKUP_CODE("提货单码","10"), + // 配载计划码 + ALLOCATION_CODE("配载计划码","11"), + // 三方中转码 + THIRD_TRANSFER_CODE("三方中转码","12"), + // 直发商家签收单码 + DIRECT_SIGN_CODE("直发商家签收单码","13"), + + + //配送计划 自提单 预约单 备货码 + DELIVERY_PLAN_CODE("配送计划码","20"), + // 自提单码 + PICKUP_ORDER_CODE("自提单码","21"), + // 预约单码 + APPOINTMENT_CODE("预约单码","22"), + // 备货码 + STOCK_CODE("备货码","23"); + + + /** + * 状态 + */ + private String name; + + /** + * 值 + */ + private String value; + + BasicCodeTypeConstant(String name, String value) { + this.name = name; + this.value = value; + } + + public String getName() { + return name; + } + + public String getValue() { + return value; + } +} diff --git a/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/entity/BasicTenantCodeEntity.java b/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/entity/BasicTenantCodeEntity.java index 76ef9b221..d4de7f1b0 100644 --- a/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/entity/BasicTenantCodeEntity.java +++ b/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/entity/BasicTenantCodeEntity.java @@ -39,13 +39,7 @@ import java.io.Serializable; public class BasicTenantCodeEntity extends TenantEntity implements Serializable{ private static final long serialVersionUID = 1L; -// /** -// * 主键 -// */ -// @JsonSerialize(using = ToStringSerializer.class) -// @ApiModelProperty(value = "主键") -// @TableId(value = "id", type = IdType.ASSIGN_ID) -// private Long id; + /** * 编码类型 @@ -53,7 +47,7 @@ public class BasicTenantCodeEntity extends TenantEntity implements Serializable @JsonSerialize(using = ToStringSerializer.class) @ApiModelProperty(value = "编码类型") @TableField(value = "code_type") - private Integer codeType; + private String codeType; /** * 编码展示类型 @@ -63,7 +57,6 @@ public class BasicTenantCodeEntity extends TenantEntity implements Serializable @TableField(value = "show_type") private Integer showType; -// private Integer isDeleted; /*** * 编码 diff --git a/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicTenantCodeClient.java b/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicTenantCodeClient.java index d8cf2a25a..0a549d345 100644 --- a/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicTenantCodeClient.java +++ b/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicTenantCodeClient.java @@ -64,5 +64,9 @@ public interface IBasicTenantCodeClient { */ @GetMapping(TOP+"/shelfCode") String shelfCode(@RequestParam String tenantId,@RequestParam String codeType); + @GetMapping(TOP+"/findBasicTenantCodeByCodeAndShowType") + BasicTenantCodeEntity findBasicTenantCodeByCodeAndShowType(@RequestParam("codeType") String codeType,@RequestParam("showType")Integer showType); + + } diff --git a/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/vo/TableSetVo.java b/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/vo/TableSetVo.java new file mode 100644 index 000000000..2fe6d3b70 --- /dev/null +++ b/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/vo/TableSetVo.java @@ -0,0 +1,28 @@ +package com.logpm.basic.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 前端页面 表格字段保存对象 + */ +@Data +@ApiModel(value = "TableSetVo", description = "表格设置对象") +public class TableSetVo implements Serializable { + + /** + * 表格key + */ + @ApiModelProperty(value = "表格key") + private String tableKey; + + /** + * 表格表头设置内容 + */ + @ApiModelProperty(value = "表格设置内容") + private String tableSetCongig; + +} diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistrilbutionBillLadingEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistrilbutionBillLadingEntity.java index 45c7f0edd..8e048dade 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistrilbutionBillLadingEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistrilbutionBillLadingEntity.java @@ -83,6 +83,12 @@ public class DistrilbutionBillLadingEntity extends TenantEntity { @ApiModelProperty(value = "提货人") private String consignee; + /** + * 收货单位 + */ + @ApiModelProperty(value = "收货单位") + private String consigneeUnit; + @ApiModelProperty(value = "提货人电话") private String consigneePhone; /** diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java index e305b927f..78e767c3f 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java @@ -61,6 +61,8 @@ public interface IDistributionReservationClient { */ @GetMapping(TOP+"/getReservationList") List getReservationList(@RequestParam("reservationIds") String reservationIds); + @GetMapping(TOP+"/getReservationByCodeAndWarehouseId") + DistributionReservationEntity getReservationByCodeAndWarehouseId(@RequestParam("reservationCode") String reservationCode,@RequestParam("warehouseId") String warehouseId); /** diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSignforStockArticleVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSignforStockArticleVO.java index f73b55f7f..5357dca66 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSignforStockArticleVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSignforStockArticleVO.java @@ -266,6 +266,18 @@ public class DistributionSignforStockArticleVO implements Serializable { @ApiModelProperty(value = "签收时间") private Date signinTime; + /** + * 签收ID + */ + @ApiModelProperty(value = "签收ID") + private Long signforId; + + /** + * 配送ID + */ + @ApiModelProperty(value = "配送ID") + private Long deliveryId; + /** * 创建时间 diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistributionAppDeliveryListVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistributionAppDeliveryListVO.java index 0a5538edd..4b3ab4bec 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistributionAppDeliveryListVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/DistributionAppDeliveryListVO.java @@ -134,6 +134,8 @@ public class DistributionAppDeliveryListVO extends DistributionDeliveryListEntit + + /** * 预约客户数据 */ diff --git a/blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/CommonFrontTableController.java b/blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/CommonFrontTableController.java new file mode 100644 index 000000000..6f7e50e7c --- /dev/null +++ b/blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/CommonFrontTableController.java @@ -0,0 +1,50 @@ +package com.logpm.basic.controller; + +import com.logpm.basic.vo.TableSetVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springblade.common.cache.CacheNames; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.redis.cache.BladeRedis; +import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.core.tool.api.R; +import org.springframework.web.bind.annotation.*; + +@RestController +@Slf4j +@AllArgsConstructor +@RequestMapping("/commonTable") +@Api(value = "自定义表格内容", tags = "自定义表格内容") +public class CommonFrontTableController extends BladeController { + + private final BladeRedis bladeRedis; + + @PostMapping("/saveTableSeting") + @ApiOperation(value = "保存表格配置", notes = "传入tableSetVo") + public R saveTableSeting(@RequestBody TableSetVo tableSetVo){ + + + try { + String key = CacheNames.tenantKey(AuthUtil.getTenantId(),CacheNames.USER_TABLE_SET+tableSetVo.getTableKey(),AuthUtil.getUserId().toString()); + bladeRedis.setEx(key, tableSetVo.getTableSetCongig(),3*30*24*60*60L); + return R.success("保存成功"); + } catch (Exception e) { + log.error("saveTableSeting",e); + return R.fail("保存失败"); + } + + } + + @GetMapping ("/getTableSeting") + @ApiOperation(value = "获取表格配置", notes = "tableKey") + public R getTableSeting(@RequestParam("tableKey") String tableKey){ + + String key = CacheNames.tenantKey(AuthUtil.getTenantId(),CacheNames.USER_TABLE_SET+tableKey,AuthUtil.getUserId().toString()); + Object o = bladeRedis.get(key); + return R.data(o); + + } + +} diff --git a/blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicTenantCodeClient.java b/blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicTenantCodeClient.java index af50642dd..e8982c795 100644 --- a/blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicTenantCodeClient.java +++ b/blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicTenantCodeClient.java @@ -67,5 +67,8 @@ public class BasicTenantCodeClient implements IBasicTenantCodeClient { return shelfCode; } - + @Override + public BasicTenantCodeEntity findBasicTenantCodeByCodeAndShowType(String codeType, Integer showType) { + return basicTenantCodeService.findBasicTenantCodeByCodeAndShowType(codeType,showType); + } } diff --git a/blade-service/logpm-basic/src/main/java/com/logpm/basic/service/IBasicTenantCodeService.java b/blade-service/logpm-basic/src/main/java/com/logpm/basic/service/IBasicTenantCodeService.java index 51e875ca0..11411b37b 100644 --- a/blade-service/logpm-basic/src/main/java/com/logpm/basic/service/IBasicTenantCodeService.java +++ b/blade-service/logpm-basic/src/main/java/com/logpm/basic/service/IBasicTenantCodeService.java @@ -68,4 +68,6 @@ public interface IBasicTenantCodeService extends BaseService implements IBasicTenantCodeService { - private BasicTenantCodeMapper basicTenantCodeMapper; @Override public IPage list(Map basicTenantCode, IPage page) { - IPage basicTenantCodeEntityIPage = basicTenantCodeMapper.selectTenantCodeList(page,basicTenantCode); + IPage basicTenantCodeEntityIPage = baseMapper.selectTenantCodeList(page,basicTenantCode); return basicTenantCodeEntityIPage; } @@ -54,7 +54,7 @@ public class BasicTenantCodeServiceImpl extends BaseServiceImpl map = new HashMap<>(); map.put("tenantId",tenantId); map.put("codeType",codeType); - String shelfCode = basicTenantCodeMapper.shelfCode(map); + String shelfCode = baseMapper.shelfCode(map); return shelfCode; } @@ -83,14 +83,23 @@ public class BasicTenantCodeServiceImpl extends BaseServiceImpl().eq("code_type", codeType).eq("show_type", showType).eq("is_deleted",0)); + + + return basicTenantCodeEntity; + } + @Override public boolean save(BasicTenantCodeEntity entity) { String code = entity.getCode(); - Integer codeType = entity.getCodeType(); - if (Func.isBlank(code)){ - code = "DA--00"+codeType; - entity.setCode(code); - } + String codeType = entity.getCodeType(); +// if (Func.isBlank(code)){ +// code = "DA--00"+codeType; +// entity.setCode(code); +// } return super.save(entity); } } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientMapper.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientMapper.java index 19b326ba1..75c5912aa 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientMapper.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientMapper.java @@ -75,6 +75,6 @@ public interface BasicdataClientMapper extends BaseMapper * 查询规则生成的客户编码列表 * @return */ - List getFinallyClientCode(); + List getFinallyClientCode(@Param("tenantCode")String tenantCode); } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientMapper.xml b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientMapper.xml index 32955d339..936756058 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientMapper.xml +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientMapper.xml @@ -169,7 +169,7 @@ DESC diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataClientServiceImpl.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataClientServiceImpl.java index 675564f65..9d4f442b4 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataClientServiceImpl.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataClientServiceImpl.java @@ -26,6 +26,8 @@ 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.basic.entity.BasicTenantCodeEntity; +import com.logpm.basic.feign.IBasicTenantCodeClient; import com.logpm.basicdata.entity.BasicdataBrandEntity; import com.logpm.basicdata.entity.BasicdataClientEntity; import com.logpm.basicdata.entity.BasicdataHistoricalContractEntity; @@ -51,6 +53,8 @@ import com.logpm.basicdata.vo.ClientInfoVO; import lombok.extern.slf4j.Slf4j; import org.springblade.common.constant.DictBizConstant; import org.springblade.common.constant.RedisKeyConstant; +import org.springblade.common.constant.basiccode.BasicCodeShowConstant; +import org.springblade.common.constant.basiccode.BasicCodeTypeConstant; import org.springblade.common.model.dto.NameDTO; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseServiceImpl; @@ -101,6 +105,10 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl str = baseMapper.getFinallyClientCode(); - finaClientCode = str.get(0); + List str = baseMapper.getFinallyClientCode(tenantCode); + if(!str.isEmpty()){ + finaClientCode = str.get(0); + }else{ + finaClientCode =tenantCode+"0000000"; + } redis.set(RedisKeyConstant.FINAL_CLIENT_CODE + AuthUtil.getTenantId(), finaClientCode); + } - String num = finaClientCode.replaceAll("HT", ""); + String num = finaClientCode.replaceAll(tenantCode, ""); int anInt = Integer.parseInt(num) + 1; - return "HT00" + anInt; + String formattedNum = String.format("%07d", anInt); + return tenantCode + formattedNum; } @Override diff --git a/blade-service/logpm-business/src/main/java/com/logpm/business/receiver/BusinessInOrderDataQueueHandler.java b/blade-service/logpm-business/src/main/java/com/logpm/business/receiver/BusinessInOrderDataQueueHandler.java index fe7b021cc..7069eca34 100644 --- a/blade-service/logpm-business/src/main/java/com/logpm/business/receiver/BusinessInOrderDataQueueHandler.java +++ b/blade-service/logpm-business/src/main/java/com/logpm/business/receiver/BusinessInOrderDataQueueHandler.java @@ -1,16 +1,23 @@ package com.logpm.business.receiver; +import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.logpm.business.service.IBusinessPreOrderService; +import com.logpm.distribution.entity.DistributionReservationEntity; +import com.logpm.distribution.feign.IDistributionReservationClient; import com.rabbitmq.client.Channel; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.common.constant.RabbitConstant; +import org.springblade.core.tool.api.R; +import org.springblade.system.entity.Tenant; +import org.springblade.system.feign.ISysClient; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitHandler; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component; +import java.util.List; import java.util.Map; /** @@ -23,7 +30,8 @@ import java.util.Map; public class BusinessInOrderDataQueueHandler { private final IBusinessPreOrderService businessPreOrderService; - + private final IDistributionReservationClient distributionReservationClient; + private final ISysClient sysClient; @RabbitHandler public void businessInOrderDataHandler(Map map, Message message, Channel channel) { // 获取 @@ -35,7 +43,9 @@ public class BusinessInOrderDataQueueHandler { String vehicleName = o.getString("vehicleName"); String driverName = o.getString("driverName"); String userName = o.getString("userName"); + // 当前作业仓库 Long warehouseId = o.getLong("warehouseId"); + // 作业 String tenantId = o.getString("tenantId"); //验证参数是否为null或者空串 @@ -59,9 +69,26 @@ public class BusinessInOrderDataQueueHandler { log.error("driverName is null"); return; } + // 判断目标租户 + DistributionReservationEntity reservationByCodeAndWarehouseId = distributionReservationClient.getReservationByCodeAndWarehouseId(reservationCode, warehouseId.toString()); + + // 判断是否存在租户 + R> tenantList = sysClient.getTenantList(); + Tenant tenant = null; + if (tenantList.isSuccess()) { + List data = tenantList.getData(); + for (Tenant datum : data) { + if (datum.getTenantType() == 2 && datum.getTenantName().equals(reservationByCodeAndWarehouseId.getMallName().trim())) { + tenant = datum; + break; + } + } + } + if(!ObjectUtil.isEmpty(tenant)){ + // 如果师傅签收 以师傅签收的车次为准 + businessPreOrderService.scanOrderPackageCodeByMaster(orderPackageCode, reservationCode, distrCarNumber, vehicleName, driverName, userName, warehouseId,tenant.getTenantId(),tenant.getTenantName(),tenantId); + } - // 如果师傅签收 以师傅签收的车次为准 - businessPreOrderService.scanOrderPackageCodeByMaster(orderPackageCode, reservationCode, distrCarNumber, vehicleName, driverName, userName, warehouseId, tenantId); } diff --git a/blade-service/logpm-business/src/main/java/com/logpm/business/service/IBusinessPreOrderService.java b/blade-service/logpm-business/src/main/java/com/logpm/business/service/IBusinessPreOrderService.java index 2c314b7dd..202762810 100644 --- a/blade-service/logpm-business/src/main/java/com/logpm/business/service/IBusinessPreOrderService.java +++ b/blade-service/logpm-business/src/main/java/com/logpm/business/service/IBusinessPreOrderService.java @@ -10,6 +10,7 @@ import com.logpm.trunkline.dto.InComingDTO; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseService; import org.springblade.core.tool.api.R; +import org.springblade.system.entity.Tenant; import java.util.List; import java.util.Map; @@ -88,8 +89,9 @@ public interface IBusinessPreOrderService extends BaseService queryWrapper1 = new LambdaQueryWrapper<>(); @@ -484,14 +497,22 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl judgmentOrderRemove(@RequestParam Long deliveryId,@RequestParam Long orderId) { - boolean result = distributionDeliveryListService.judgmentOrderRemove(deliveryId,orderId); + public R judgmentOrderRemove(@RequestParam Long deliveryId,@RequestParam String orderIds) { + boolean result = distributionDeliveryListService.judgmentOrderRemove(deliveryId,orderIds); return R.data(result); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionReservationController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionReservationController.java index 273be22ee..9073ac6df 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionReservationController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionReservationController.java @@ -111,6 +111,7 @@ public class DistributionReservationController extends BladeController { List ids = Func.toLongList(",", excludeId); lambda.notIn(DistributionReservationEntity::getId,ids); } + lambda.orderByDesc(DistributionReservationEntity::getCreateTime); IPage pages = reservationService.page(Condition.getPage(query),lambda ); pages.getRecords().forEach(i ->{ R userR = userClient.userInfoById(i.getCreateUser()); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java index 9ea6a4387..3beaa4c7e 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java @@ -387,6 +387,8 @@ public class DistributionStockArticleController extends BladeController { BeanUtil.copy(oldStockArticle,newStockArticle); String consigneePerson = stockArticleEntity.getConsigneePerson(); String customerName = stockArticleEntity.getCustomerName(); + String mallName = stockArticleEntity.getMallName(); + String consigneeUnit = stockArticleEntity.getConsigneeUnit(); if(StringUtil.isNotBlank(consigneePerson)){ newStockArticle.setConsigneePerson(consigneePerson); newStockArticle.setConsigneeMobile(stockArticleEntity.getConsigneeMobile()); @@ -396,8 +398,8 @@ public class DistributionStockArticleController extends BladeController { newStockArticle.setCustomerTelephone(stockArticleEntity.getCustomerTelephone()); newStockArticle.setCustomerAddress(stockArticleEntity.getCustomerAddress()); }else { - newStockArticle.setMallName(customerName); - newStockArticle.setConsigneeUnit(customerName); + newStockArticle.setMallName(mallName); + newStockArticle.setConsigneeUnit(consigneeUnit); } String content = oldStockArticle.compareCustomerInfo(newStockArticle); if(StringUtil.isNotBlank(content)){ diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistrilbutionBillLadingDTO.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistrilbutionBillLadingDTO.java index 78816800e..e7b52e7ac 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistrilbutionBillLadingDTO.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistrilbutionBillLadingDTO.java @@ -74,10 +74,6 @@ public class DistrilbutionBillLadingDTO extends DistrilbutionBillLadingEntity { * 运单号 */ private String waybillNumber; - /** - * 收货单位 - */ - private String consigneeUnit; /** * 收货人 */ @@ -152,7 +148,6 @@ public class DistrilbutionBillLadingDTO extends DistrilbutionBillLadingEntity { */ private String stockupCode; - /** * 库存品 */ diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java index 405a0fb90..d3890a5f9 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java @@ -60,6 +60,11 @@ public class DistributionReservationClient implements IDistributionReservationCl return reservationService.getRetentionReservationList(reservationIds); } + @Override + public DistributionReservationEntity getReservationByCodeAndWarehouseId(String reservationCode, String warehouseId) { + return reservationService.selectByReservationCode(reservationCode); + } + /** * @param warehouseId * @return diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml index 236946395..327d6a2ef 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml @@ -562,7 +562,7 @@ @@ -302,7 +323,7 @@ lddl.driver_name driverName, lddl.vehicle_name vehicleName, lddl.task_time taskTime, - lddl.loading_time AS signLoadingDate, + lddl.loading_time AS signLoadingDate, (lds.received_quantity+receivedin_quantity) receivedQuantity, lds.examine_user_id examineUserId, lds.examine_user_name examineUserName, @@ -314,28 +335,32 @@ lds.driver_signing driverSigning, (lds.loaded_number+lds.loadedin_number) loadedNumber, - (ldr.reservation_num + ldr.reservation_stock_list_num -lds.loaded_number - lds.loadedin_number ) unloadedNumber, - (ldr.reservation_num + ldr.reservation_stock_list_num - lds.received_quantity + receivedin_quantity ) unreceivedQuantity, - lds.create_time createTime, - CASE WHEN lds.signing_status ='2' THEN '文员签收' - WHEN lds.driver_signing ='2' THEN '已完成' + (ldr.reservation_num + ldr.reservation_stock_list_num -lds.loaded_number - lds.loadedin_number ) unloadedNumber, + (ldr.reservation_num + ldr.reservation_stock_list_num - lds.received_quantity + receivedin_quantity ) + unreceivedQuantity, + lds.create_time createTime, + CASE WHEN lds.signing_status ='2' THEN '文员签收' + WHEN lds.driver_signing ='2' THEN '已完成' ELSE '待签收' END signingStatusAll, - CASE WHEN lds.signing_status ='2' THEN '文员已审核' - WHEN lds.signing_status ='1' THEN '文员待审核' + CASE WHEN lds.signing_status ='2' THEN '文员已审核' + WHEN lds.signing_status ='1' THEN '文员待审核' ELSE '待签收' END wenyuanSigningStatus, - CASE WHEN lds.driver_signing ='2' THEN '已完成' - WHEN lds.driver_signing ='1' THEN '未完成' + CASE WHEN lds.driver_signing ='2' THEN '已完成' + WHEN lds.driver_signing ='1' THEN '未完成' ELSE '待签收' END sijiSigningStatus, lds.signing_status, (ldr.reservation_num + ldr.reservation_stock_list_num) - (lds.received_quantity+receivedin_quantity) unsigneds, - (ldr.reservation_num + ldr.reservation_stock_list_num) - (lds.loaded_number+lds.loadedin_number) withoutScanning, + (ldr.reservation_num + ldr.reservation_stock_list_num) - (lds.loaded_number+lds.loadedin_number) + withoutScanning, lds.reservation_id reservationId, CASE lddl.kind - WHEN '1' THEN (SELECT driver_phone FROM logpm_distribution_delivery_self AS ldds WHERE ldds.delivery_id= lddl.id AND ldds.is_deleted = 0 AND ldds.is_master = 2) - WHEN '2' THEN (SELECT driver_phone FROM logpm_distribution_delivery_tripartite AS lddt WHERE lddt.delivery_id= lddl.id AND lddt.is_deleted = 0) + WHEN '1' THEN (SELECT driver_phone FROM logpm_distribution_delivery_self AS ldds WHERE ldds.delivery_id= lddl.id + AND ldds.is_deleted = 0 AND ldds.is_master = 2) + WHEN '2' THEN (SELECT driver_phone FROM logpm_distribution_delivery_tripartite AS lddt WHERE lddt.delivery_id= + lddl.id AND lddt.is_deleted = 0) ELSE '' END driverPhone @@ -344,13 +369,14 @@ JOIN logpm_distribution_delivery_list lddl ON lddl.id = lds.delivery_id JOIN logpm_distribution_reservation ldr ON ldr.id = lds.reservation_id - lds.is_deleted = 0 and ldr.is_deleted = 0 and lddl.is_deleted = 0 AND (ldr.reservation_num + ldr.reservation_stock_list_num) > 0 AND lddl.customers_number > 0 + lds.is_deleted = 0 and ldr.is_deleted = 0 and lddl.is_deleted = 0 AND (ldr.reservation_num + + ldr.reservation_stock_list_num) > 0 AND lddl.customers_number > 0 and ldr.mall_name like concat('%',#{param.mallName},'%') - and lds.id in - + and lds.id in + #{a} @@ -381,7 +407,7 @@ and date_format(lds.sjsigning_time,'%y%m%d%') = date_format(#{param.sjsigningTime},'%y%m%d%') - + and date_format(lds.create_time,'%y%m%d%') = date_format(#{param.createTime_query},'%y%m%d%') @@ -394,7 +420,7 @@ and ldr.delivery_type = #{param.deliveryType} - and ldr.delivery_phone like concat('%',#{param.deliveryPhone},'%') + and ldr.delivery_phone like concat('%',#{param.deliveryPhone},'%') and lddl.train_number like concat('%',#{param.trainNumber},'%') @@ -409,25 +435,25 @@ and lds.signing_status = #{param.signingStatus} - and date_format(lddl.task_time,'%Y-%m-%d') = #{param.taskTime} + and date_format(lddl.task_time,'%Y-%m-%d') = #{param.taskTime} - and date_format(lddl.loading_time,'%Y-%m-%d') = #{param.signLoadingDate} + and date_format(lddl.loading_time,'%Y-%m-%d') = #{param.signLoadingDate} - and lddl.task_time between #{param.taskTimeSection[0]} and #{param.taskTimeSection[1]} + and lddl.task_time between #{param.taskTimeSection[0]} and #{param.taskTimeSection[1]} - and lddl.loading_time between #{param.loadingTimeSection[0]} and #{param.loadingTimeSection[1]} + and lddl.loading_time between #{param.loadingTimeSection[0]} and #{param.loadingTimeSection[1]} - and lds.signee_name like concat('%',#{param.signeeName},'%') + and lds.signee_name like concat('%',#{param.signeeName},'%') - and lds.sjsigning_time between #{param.sjsigningTimeSection[0]} and #{param.sjsigningTimeSection[1]} + and lds.sjsigning_time between #{param.sjsigningTimeSection[0]} and #{param.sjsigningTimeSection[1]} - and lds.signing_time between #{param.signingTimeSection[0]} and #{param.signingTimeSection[1]} + and lds.signing_time between #{param.signingTimeSection[0]} and #{param.signingTimeSection[1]} @@ -445,39 +471,54 @@ SELECT * FROM logpm_distribution_signfor ${ew.customSqlSegment} - - - - - - - + + + + + + + - - SELECT DISTINCT lddl.id id, lddl.train_number trainNumber, @@ -752,128 +797,139 @@ (SELECT COALESCE (sum(ldr.reservation_num + ldr.reservation_stock_list_num),0) FROM logpm_distribution_signfor lds - join logpm_distribution_reservation ldr on lds.reservation_id =ldr.id - WHERE lds.delivery_id = lddl.id + join logpm_distribution_reservation ldr on lds.reservation_id =ldr.id + WHERE lds.delivery_id = lddl.id ) deliveryNumber, lddl.delivery_status deliveryStatus, lddl.preparation_time preparationTime, lddl.create_time createTime, - (SELECT COALESCE(COUNT(*), 0) FROM logpm_distribution_signfor lds WHERE lds.delivery_id =lddl.id) customersNumber, + (SELECT COALESCE(COUNT(*), 0) FROM logpm_distribution_signfor lds WHERE lds.delivery_id =lddl.id) + customersNumber, lddl.price price, lddl.added_services_id addedServicesId, (SELECT COALESCE (COUNT(*) ,0) FROM logpm_distribution_signfor lds - join logpm_distribution_reservation ldr on lds.reservation_id =ldr.id + join logpm_distribution_reservation ldr on lds.reservation_id =ldr.id join logpm_distribution_reservation_stockarticle ldrs on ldrs.reservation_id =ldr.id - WHERE lds.delivery_id = lddl.id + WHERE lds.delivery_id = lddl.id ) orderNumber, (SELECT COALESCE(sum(lds.loaded_number+lds.loadedin_number), 0) FROM logpm_distribution_signfor lds WHERE lddl.id = lds.delivery_id) scannedNumber, - (SELECT GROUP_CONCAT(DISTINCT ldsu.loader_name SEPARATOR ',') from logpm_distribution_signfor lds INNER JOIN logpm_distribution_stockup_info AS ldsi ON lds.reservation_id = ldsi.reservation_id - INNER JOIN logpm_distribution_stockup AS ldsu ON ldsu.id = ldsi.stockup_id WHERE lds.delivery_id = lddl.id) loadingTeamName, - lddl.lead_time leadTime, - lddl.loading_time loadingTime, - lddl.task_time taskTime, - (SELECT COALESCE(sum(lds.receivedin_quantity+lds.received_quantity), 0) FROM logpm_distribution_signfor lds WHERE - lddl.id = lds.delivery_id) signNub, - ( (SELECT COALESCE(count(*), 0) FROM logpm_distribution_loadscan ldl WHERE - lddl.id = ldl.delivery_id and ldl.signfor_state =2) + - (SELECT COALESCE(count(*), 0) FROM logpm_distribution_loadscaninvn ldl WHERE - lddl.id = ldl.delivery_id and ldl.signfor_state =2) ) signNubSr, - ( select GROUP_CONCAT(ldr.consignee) from logpm_distribution_reservation ldr - where ldr.id in (select lds.reservation_id from logpm_distribution_signfor lds where lds.delivery_id = lddl.id ) - ) consignee - FROM - logpm_distribution_delivery_list lddl - left join logpm_distribution_delivery_self ldds on lddl.id =ldds.delivery_id - left join logpm_distribution_signfor ldsf on ldsf.delivery_id = lddl.id - LEFT JOIN (SELECT count(ldr.id) AS num,lds.delivery_id FROM logpm_distribution_signfor AS lds LEFT JOIN logpm_distribution_reservation AS ldr ON lds.reservation_id = ldr.id WHERE lds.is_deleted = 0 AND ldr.is_deleted = 0 GROUP BY lds.delivery_id) AS t ON t.delivery_id = lddl.id - - lddl.is_deleted =0 AND t.num > 0 - - and lddl.id in - - #{item} - - - - and lddl.warehouse_id in - - #{item} - - - - and date_format(lddl.create_time,'%y%m%d%') = date_format(#{param.createTime_query},'%y%m%d%') - - - and lddl.type = #{param.type} - - - and date_format(lddl.task_time,'%y%m%d%') >= date_format(#{param.taskTime_start},'%y%m%d%') and date_format(lddl.task_time,'%y%m%d%') <= date_format(#{param.taskTime_end},'%y%m%d%') - - - ORDER BY lddl.task_time DESC + (SELECT GROUP_CONCAT(DISTINCT ldsu.loader_name SEPARATOR ',') from logpm_distribution_signfor lds INNER JOIN + logpm_distribution_stockup_info AS ldsi ON lds.reservation_id = ldsi.reservation_id + INNER JOIN logpm_distribution_stockup AS ldsu ON ldsu.id = ldsi.stockup_id WHERE lds.delivery_id = lddl.id) + loadingTeamName, + lddl.lead_time leadTime, + lddl.loading_time loadingTime, + lddl.task_time taskTime, + (SELECT COALESCE(sum(lds.receivedin_quantity+lds.received_quantity), 0) FROM logpm_distribution_signfor lds + WHERE + lddl.id = lds.delivery_id) signNub, + ( (SELECT COALESCE(count(*), 0) FROM logpm_distribution_loadscan ldl WHERE + lddl.id = ldl.delivery_id and ldl.signfor_state =2) + + (SELECT COALESCE(count(*), 0) FROM logpm_distribution_loadscaninvn ldl WHERE + lddl.id = ldl.delivery_id and ldl.signfor_state =2) ) signNubSr, + ( select GROUP_CONCAT(CONCAT(ldr.receiving_unit,'(',ldr.consignee),')') from logpm_distribution_reservation ldr + where ldr.id in (select lds.reservation_id from logpm_distribution_signfor lds where lds.delivery_id = lddl.id ) + ) consignee + FROM + logpm_distribution_delivery_list lddl + left join logpm_distribution_delivery_self ldds on lddl.id =ldds.delivery_id + left join logpm_distribution_signfor ldsf on ldsf.delivery_id = lddl.id + LEFT JOIN (SELECT count(ldr.id) AS num,lds.delivery_id FROM logpm_distribution_signfor AS lds LEFT JOIN + logpm_distribution_reservation AS ldr ON lds.reservation_id = ldr.id WHERE lds.is_deleted = 0 AND ldr.is_deleted + = 0 GROUP BY lds.delivery_id) AS t ON t.delivery_id = lddl.id + + lddl.is_deleted =0 AND t.num > 0 + + and lddl.id in + + #{item} + + + + and lddl.warehouse_id in + + #{item} + + + + and date_format(lddl.create_time,'%y%m%d%') = date_format(#{param.createTime_query},'%y%m%d%') + + + and lddl.type = #{param.type} + + + and date_format(lddl.task_time,'%y%m%d%') >= date_format(#{param.taskTime_start},'%y%m%d%') and + date_format(lddl.task_time,'%y%m%d%') <= date_format(#{param.taskTime_end},'%y%m%d%') + + + ORDER BY lddl.task_time DESC + + + - - - + SELECT distinct + ldsa.order_code AS orderCode, + ldrs.reservation_num AS reservationNum, + ldrs.stock_article_id stockArticleId, + (SELECT COALESCE(COUNT(*), 0) FROM logpm_distribution_loadscan ldl WHERE ldl.order_id = ldsa.id AND + ldl.scan_status != 1 AND ldl.signfor_state = 2) AS signforNub, + (SELECT COALESCE(COUNT(*), 0) FROM logpm_distribution_loadscan ldl WHERE ldl.order_id = ldsa.id AND + ldl.scan_status != 1 ) AS loadingNub + FROM + logpm_distribution_reservation ldr + JOIN logpm_distribution_reservation_stockarticle ldrs ON ldr.id = ldrs.reservation_id + JOIN logpm_distribution_stock_article ldsa ON ldsa.id = ldrs.stock_article_id + + ldr.is_deleted = 0 + - and ldsa.order_code like + and ldsa.order_code like concat('%',#{param.orderCode},'%') and ldr.id = #{param.reservationId} @@ -882,7 +938,7 @@ FROM logpm_distribution_loadscan ldl WHERE ldl.order_id = ldsa.id AND ldl.scan_status != 1 - AND ldl.signfor_state = 2) < ldrs.reservation_num and (SELECT COALESCE(COUNT(*), 0) + AND ldl.signfor_state = 2) < ldrs.reservation_num and (SELECT COALESCE(COUNT(*), 0) FROM logpm_distribution_loadscan ldl WHERE ldl.order_id = ldsa.id AND ldl.scan_status != 1 @@ -899,26 +955,27 @@ WHERE ldl.order_id = ldsa.id AND ldl.scan_status != 1 AND ldl.signfor_state = 2) AS signforNub, - (SELECT COALESCE(COUNT(*), 0) FROM logpm_distribution_loadscan ldl WHERE ldl.order_id = ldsa.id AND ldl.scan_status != 1 ) AS loadingNub + (SELECT COALESCE(COUNT(*), 0) FROM logpm_distribution_loadscan ldl WHERE ldl.order_id = ldsa.id AND + ldl.scan_status != 1 ) AS loadingNub FROM logpm_distribution_reservation ldr JOIN logpm_distribution_reservation_stockarticle ldrs ON ldr.id = ldrs.reservation_id JOIN logpm_distribution_stock_article ldsa ON ldsa.id = ldrs.stock_article_id - ldr.is_deleted = 0 - - - - - and ldsa.order_code like - concat('%',#{param.orderCode},'%') - - and ldr.id = #{param.reservationId} - and (SELECT COALESCE(COUNT(*), 0) - FROM logpm_distribution_loadscan ldl - WHERE ldl.order_id = ldsa.id - AND ldl.scan_status != 1 - AND ldl.signfor_state = 2) =0 + ldr.is_deleted = 0 + + + + + and ldsa.order_code like + concat('%',#{param.orderCode},'%') + + and ldr.id = #{param.reservationId} + and (SELECT COALESCE(COUNT(*), 0) + FROM logpm_distribution_loadscan ldl + WHERE ldl.order_id = ldsa.id + AND ldl.scan_status != 1 + AND ldl.signfor_state = 2) =0 @@ -981,20 +1039,34 @@ ldsl.cargo_norms AS cargoNorms, ldsl.description_goods AS descriptionGoods, ldrs.reservation_num AS planNum, - (SELECT IFNULL(sum(stock_quantity),0) FROM logpm_distribution_stock WHERE reservation_id = ldr.id AND stock_list_id = ldsl.id) AS stockupNum, - (SELECT IFNULL(SUM(package_nub),0) FROM logpm_distribution_loadscaninvn WHERE reservation_id = ldr.id AND inventory_id = ldsl.id) AS loadingNum, - (SELECT IFNULL(SUM(package_nub),0) FROM logpm_distribution_loadscaninvn WHERE reservation_id = ldr.id AND inventory_id = ldsl.id AND signfor_state = 2) AS signingNum, - (SELECT IFNULL(MAX(signing_time),'') FROM logpm_distribution_loadscaninvn WHERE reservation_id = ldr.id AND inventory_id = ldsl.id AND signfor_state = 2) AS signingTime, - (SELECT IFNULL(MAX(scan_time),'') FROM logpm_distribution_loadscaninvn WHERE reservation_id = ldr.id AND inventory_id = ldsl.id ) AS loadingTime, - (SELECT IFNULL(GROUP_CONCAT(DISTINCT scan_user),'') FROM logpm_distribution_loadscaninvn WHERE reservation_id = ldr.id AND inventory_id = ldsl.id GROUP BY scan_user) AS loadingUser, - (SELECT IFNULL(GROUP_CONCAT(DISTINCT signee_name),'') FROM logpm_distribution_loadscaninvn WHERE reservation_id = ldr.id AND inventory_id = ldsl.id GROUP BY scan_user) AS signingUser, - IF((SELECT IFNULL(SUM(package_nub),0) FROM logpm_distribution_loadscaninvn WHERE reservation_id = ldr.id AND inventory_id = ldsl.id) = 0,'未装车',IF((SELECT IFNULL(SUM(package_nub),0) FROM logpm_distribution_loadscaninvn WHERE reservation_id = ldr.id AND inventory_id = ldsl.id) = ldrs.reservation_num,'已装车','部分装车')) AS loadingStatus, + (SELECT IFNULL(sum(stock_quantity),0) FROM logpm_distribution_stock WHERE reservation_id = ldr.id AND + stock_list_id = ldsl.id) AS stockupNum, + (SELECT IFNULL(SUM(package_nub),0) FROM logpm_distribution_loadscaninvn WHERE reservation_id = ldr.id AND + inventory_id = ldsl.id) AS loadingNum, + (SELECT IFNULL(SUM(package_nub),0) FROM logpm_distribution_loadscaninvn WHERE reservation_id = ldr.id AND + inventory_id = ldsl.id AND signfor_state = 2) AS signingNum, + (SELECT IFNULL(MAX(signing_time),'') FROM logpm_distribution_loadscaninvn WHERE reservation_id = ldr.id AND + inventory_id = ldsl.id AND signfor_state = 2) AS signingTime, + (SELECT IFNULL(MAX(scan_time),'') FROM logpm_distribution_loadscaninvn WHERE reservation_id = ldr.id AND + inventory_id = ldsl.id ) AS loadingTime, + (SELECT IFNULL(GROUP_CONCAT(DISTINCT scan_user),'') FROM logpm_distribution_loadscaninvn WHERE reservation_id = + ldr.id AND inventory_id = ldsl.id GROUP BY scan_user) AS loadingUser, + (SELECT IFNULL(GROUP_CONCAT(DISTINCT signee_name),'') FROM logpm_distribution_loadscaninvn WHERE reservation_id + = ldr.id AND inventory_id = ldsl.id GROUP BY scan_user) AS signingUser, + IF((SELECT IFNULL(SUM(package_nub),0) FROM logpm_distribution_loadscaninvn WHERE reservation_id = ldr.id AND + inventory_id = ldsl.id) = 0,'未装车',IF((SELECT IFNULL(SUM(package_nub),0) FROM logpm_distribution_loadscaninvn + WHERE reservation_id = ldr.id AND inventory_id = ldsl.id) = ldrs.reservation_num,'已装车','部分装车')) AS + loadingStatus, - IF((SELECT IFNULL(SUM(package_nub),0) FROM logpm_distribution_loadscaninvn WHERE reservation_id = ldr.id AND inventory_id = ldsl.id AND signfor_state = 2) = 0,'未签收',IF((SELECT IFNULL(SUM(package_nub),0) FROM logpm_distribution_loadscaninvn WHERE reservation_id = ldr.id AND inventory_id = ldsl.id AND signfor_state = 2) = ldrs.reservation_num,'已签收','部分签收')) AS signingStatus + IF((SELECT IFNULL(SUM(package_nub),0) FROM logpm_distribution_loadscaninvn WHERE reservation_id = ldr.id AND + inventory_id = ldsl.id AND signfor_state = 2) = 0,'未签收',IF((SELECT IFNULL(SUM(package_nub),0) FROM + logpm_distribution_loadscaninvn WHERE reservation_id = ldr.id AND inventory_id = ldsl.id AND signfor_state = 2) + = ldrs.reservation_num,'已签收','部分签收')) AS signingStatus FROM logpm_distribution_signfor AS lds LEFT JOIN logpm_distribution_reservation AS ldr ON lds.reservation_id = ldr.id - LEFT JOIN logpm_distribution_reservation_stocklist AS ldrs ON ldrs.reservation_id = ldr.id AND ldrs.stock_list_status != 2 AND ldrs.is_deleted = 0 + LEFT JOIN logpm_distribution_reservation_stocklist AS ldrs ON ldrs.reservation_id = ldr.id AND + ldrs.stock_list_status != 2 AND ldrs.is_deleted = 0 LEFT JOIN logpm_distribution_stock_list AS ldsl ON ldrs.stocklist_id = ldsl.id WHERE lds.id = #{id} AND lds.is_deleted = 0 @@ -1002,44 +1074,45 @@ diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml index 052d10c2b..f95174178 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml @@ -461,6 +461,7 @@ lad.`conditions` `conditions`, lad.Pick_up_plate pickUpPlate, lad.consignee consignee, + lad.consignee_unit consigneeUnit, lad.create_time, lad.pick_up_time, lad.stock_article_id stockArticleId diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java index 37f34e209..82af63a91 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java @@ -401,7 +401,7 @@ public interface IDistributionDeliveryListService extends BaseService reservationEntities = reservationEntityList.stream().filter(r -> Func.isNotEmpty(r.getConsignee()) && r.getConsignee().equals(stockArticleEntity.getCustomerName()) && r.getDeliveryAddress().equals(stockArticleEntity.getCustomerAddress()) && r.getDeliveryPhone().equals(stockArticleEntity.getCustomerTelephone()) && r.getMallName().equals(stockArticleEntity.getMallName()) && r.getId().equals(distrilbutionloadingscanDTO.getReservationId())).collect(Collectors.toList()); //查看是否存在满足条件的预约单 - reservationEntities = reservationEntities.stream().filter(r -> r.getReceivingUnit().equals(stockArticleEntity.getConsigneeUnit()) && r.getMallName().equals(stockArticleEntity.getMallName())).collect(Collectors.toList()); + boolean flag = reservationEntityList.stream().anyMatch(r -> Func.isNotEmpty(r.getConsignee()) && r.getConsignee().equals(stockArticleEntity.getCustomerName()) && r.getDeliveryAddress().equals(stockArticleEntity.getCustomerAddress()) && r.getDeliveryPhone().equals(stockArticleEntity.getCustomerTelephone()) && r.getMallName().equals(stockArticleEntity.getMallName()) && r.getId().equals(distrilbutionloadingscanDTO.getReservationId())); //存在多个,操作人指定具体客户即可 - if (!reservationEntities.isEmpty() && reservationEntities.size() == 1) { - if (Func.isEmpty(distrilbutionloadingscanDTO.getReservationId())) { - log.info("异常装车未指定客户"); - return Resp.scanFail("请指定客户进行异常装车", "请指定客户进行异常装车"); - } + if ( reservationEntities.size() == 1 && flag) { return R.fail(5000, "异常装车"); -// return Resp.scanFail("装车失败","程序出错,请联系彪桑"); } else { - if (parcelListEntity.getConditions() == 2) { - return Resp.scanFail("此包件不是订制品", "此包件不是订制品"); - - } else { + if (flag){ + if (reservationEntities.isEmpty()){ + return Resp.scanFail("请指定客户进行异常装车", "请指定客户进行异常装车"); + } + }else { return Resp.scanFail("窜货", "窜货"); } } @@ -810,15 +811,18 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl reservationEntities = reservationEntityList.stream().filter(r -> r.getReceivingUnit().equals(stockArticleEntity.getConsigneeUnit()) && r.getMallName().equals(stockArticleEntity.getMallName()) && r.getId().equals(distrilbutionloadingscanDTO.getReservationId())).collect(Collectors.toList()); //查询是否满足商配异常装车 - boolean flag = reservationEntities.stream().anyMatch(r -> r.getReceivingUnit().equals(stockArticleEntity.getConsigneeUnit()) && r.getMallName().equals(stockArticleEntity.getMallName())); - if (flag){ + boolean flag = reservationEntityList.stream().anyMatch(r -> r.getReceivingUnit().equals(stockArticleEntity.getConsigneeUnit()) && r.getMallName().equals(stockArticleEntity.getMallName())); + if (reservationEntities.size() == 1 && flag){ return R.fail(5000, "异常装车"); }else { - if (Func.isEmpty(distrilbutionloadingscanDTO.getReservationId())){ - return Resp.scanFail("请指定客户进行异常装车", "请指定客户进行异常装车"); + if (flag){ + if (reservationEntities.isEmpty()){ + return Resp.scanFail("请指定客户进行异常装车", "请指定客户进行异常装车"); + } }else { return Resp.scanFail("窜货", "窜货"); + } } } else { @@ -2438,19 +2442,6 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl { DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(rs.getStockArticleId()); DistributionStockArticleVO distributionStockArticleVO = DistributionStockArticleWrapper.build().entityVO(stockArticleEntity); -// if (rs.getIsZero().equals(IsOrNoConstant.no.getValue())) { -//// List reservationPackageEntityList = distributionReservationPackageService.list(Wrappers.query().lambda().eq(DistributionReservationPackageEntity::getReservationId, rs.getReservationId()).eq(DistributionReservationPackageEntity::getStockArticleId, stockArticleEntity.getId()).ne(DistributionReservationPackageEntity::getPacketBarStatus, ReservationPackageStatusConstant.quxiao.getValue())); -//// if (Func.isNotEmpty(reservationPackageEntityList)) { -//// ArrayList distributionParcelListVOS = new ArrayList<>(); -//// reservationPackageEntityList.forEach(rp -> { -//// DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(rp.getParceListId()); -//// DistributionParcelListVO distributionParcelListVO = DistributionParcelListWrapper.build().entityVO(parcelListEntity); -//// distributionParcelListVOS.add(distributionParcelListVO); -//// }); -//// distributionStockArticleVO.setPackageList(distributionParcelListVOS); -//// distributionStockArticleVO.setParcelListVOS(DistributionParcelListWrapper.build().listVO(distributionParcelListService.getBaseMapper().selectList(Wrappers.query().lambda().eq(DistributionParcelListEntity::getStockArticleId, rs.getStockArticleId())))); -//// } -// } distributionStockArticleVO.setReservationNum(rs.getReservationNum()); distributionStockArticleVOS.add(distributionStockArticleVO); }); @@ -4589,7 +4580,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl list = Func.toLongList(orderIds); List loadscanEntityList = distributionLoadscanService.list(Wrappers.query().lambda() .eq(DistributionLoadscanEntity::getDeliveryId, deliveryId) + .in(DistributionLoadscanEntity::getOrderId, list) .ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()) ); if (Func.isNotEmpty(loadscanEntityList)) { - Map loadingOrderMap = loadscanEntityList.stream().collect(Collectors.toMap(DistributionLoadscanEntity::getOrderId, Function.identity(), (k1, k2) -> k2)); - return !Func.isNotEmpty(loadingOrderMap.get(orderId)); + return false; } return true; } @@ -7209,6 +7201,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl().lambda() diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java index 5e9417e21..7a855d819 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java @@ -2589,7 +2589,12 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl entityList = distributionStockupInfoService.list(Wrappers.query().lambda() + .eq(DistributionStockupInfoEntity::getStockupId, stockupEntity.getId()) + .ne(DistributionStockupInfoEntity::getStockStatus, "4") + ); + if (stockupEntity.getAssignStatus().equals(StockAssignStatusConstant.weizhipai.getValue()) && entityList.size() == 1) { //物理删除关于预约的所有信息 distributionReservationStocklistMapper.deleteReservationStocklist(reservationEntity.getId()); distributionReservationPackageMapper.deleteReservationPackage(reservationEntity.getId()); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java index 4de0af6fd..f1082c71a 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java @@ -18,6 +18,8 @@ package com.logpm.distribution.service.impl; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -34,97 +36,18 @@ import com.logpm.basicdata.feign.IBasicdataClientClient; import com.logpm.basicdata.feign.IBasicdataDriverArteryClient; import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.distribution.bean.Resp; -import com.logpm.distribution.dto.DistributionAddvalueDTO; -import com.logpm.distribution.dto.DistributionDeliverySelfDTO; -import com.logpm.distribution.dto.DistributionNumberDetailDTO; -import com.logpm.distribution.dto.DistributionParcelNumberDTO; -import com.logpm.distribution.dto.DistributionSignforDTO; -import com.logpm.distribution.dto.DistributionSignforExcelDTO; -import com.logpm.distribution.dto.DistrilbutionAppsignforDTO; +import com.logpm.distribution.dto.*; import com.logpm.distribution.dto.app.DistributionAppDeliveryListDTO; -import com.logpm.distribution.entity.DisStockListDetailEntity; -import com.logpm.distribution.entity.DistributionAddvaluePackageEntity; -import com.logpm.distribution.entity.DistributionBillLadingScanEntity; -import com.logpm.distribution.entity.DistributionDeliveryListEntity; -import com.logpm.distribution.entity.DistributionDeliverySelfEntity; -import com.logpm.distribution.entity.DistributionDeliveryTripartiteEntity; -import com.logpm.distribution.entity.DistributionLoadscanAbnormalEntity; -import com.logpm.distribution.entity.DistributionLoadscanEntity; -import com.logpm.distribution.entity.DistributionLoadscaninvnEntity; -import com.logpm.distribution.entity.DistributionParcelListEntity; -import com.logpm.distribution.entity.DistributionParcelNumberEntity; -import com.logpm.distribution.entity.DistributionReservationEntity; -import com.logpm.distribution.entity.DistributionReservationPackageEntity; -import com.logpm.distribution.entity.DistributionReservationStockarticleEntity; -import com.logpm.distribution.entity.DistributionReservationStocklistEntity; -import com.logpm.distribution.entity.DistributionReservationZeroPackageEntity; -import com.logpm.distribution.entity.DistributionSignPrintEntity; -import com.logpm.distribution.entity.DistributionSignforEntity; -import com.logpm.distribution.entity.DistributionStockArticleEntity; -import com.logpm.distribution.entity.DistributionStockEntity; -import com.logpm.distribution.entity.DistributionStockListEntity; -import com.logpm.distribution.entity.DistributionStockupEntity; -import com.logpm.distribution.entity.DistrilbutionBillLadingEntity; -import com.logpm.distribution.excel.DistributionSignforExcel; -import com.logpm.distribution.excel.DistributionSignforInventoryExcel; -import com.logpm.distribution.excel.DistributionSignforOrderExcel; -import com.logpm.distribution.excel.DistributionSignforOwnExcel; -import com.logpm.distribution.excel.DistributionSignforPackageExcel; -import com.logpm.distribution.mapper.DistributionAddvalueMapper; -import com.logpm.distribution.mapper.DistributionDeliveryListMapper; -import com.logpm.distribution.mapper.DistributionDeliverySelfMapper; -import com.logpm.distribution.mapper.DistributionDeliveryTripartiteMapper; -import com.logpm.distribution.mapper.DistributionLoadscanMapper; -import com.logpm.distribution.mapper.DistributionLoadscaninvnMapper; -import com.logpm.distribution.mapper.DistributionParcelListMapper; -import com.logpm.distribution.mapper.DistributionReservationMapper; -import com.logpm.distribution.mapper.DistributionSignforMapper; -import com.logpm.distribution.mapper.DistributionStockArticleMapper; -import com.logpm.distribution.mapper.DistributionStockListMapper; -import com.logpm.distribution.mapper.DistributionStockMapper; -import com.logpm.distribution.mapper.DistributionStockupMapper; -import com.logpm.distribution.mapper.DistrilbutionBillLadingMapper; -import com.logpm.distribution.service.IDisStockListDetailService; -import com.logpm.distribution.service.IDistributionAddvaluePackageService; -import com.logpm.distribution.service.IDistributionAddvalueService; -import com.logpm.distribution.service.IDistributionAsyncService; -import com.logpm.distribution.service.IDistributionBillLadingScanService; -import com.logpm.distribution.service.IDistributionDeliveryListService; -import com.logpm.distribution.service.IDistributionLoadscanAbnormalService; -import com.logpm.distribution.service.IDistributionParcelListService; -import com.logpm.distribution.service.IDistributionParcelNumberService; -import com.logpm.distribution.service.IDistributionReservationPackageService; -import com.logpm.distribution.service.IDistributionReservationService; -import com.logpm.distribution.service.IDistributionReservationStockarticleService; -import com.logpm.distribution.service.IDistributionReservationZeroPackageService; -import com.logpm.distribution.service.IDistributionSignPrintService; -import com.logpm.distribution.service.IDistributionSignforService; -import com.logpm.distribution.service.IDistributionStockArticleService; -import com.logpm.distribution.service.IDistributionStockListService; -import com.logpm.distribution.service.IDistributionStockupService; -import com.logpm.distribution.service.IDistrilbutionBillLadingService; -import com.logpm.distribution.vo.DeliveryNodeVo; -import com.logpm.distribution.vo.DistributionAddvaluePackageVO; -import com.logpm.distribution.vo.DistributionAddvalueVO; -import com.logpm.distribution.vo.DistributionDeliverySelfVO; -import com.logpm.distribution.vo.DistributionLoadscanAbnormalVO; -import com.logpm.distribution.vo.DistributionParcelListVO; -import com.logpm.distribution.vo.DistributionParcelNumberVO; -import com.logpm.distribution.vo.DistributionSignPrintVO; -import com.logpm.distribution.vo.DistributionSignforStockListVO; -import com.logpm.distribution.vo.DistributionSignforVO; -import com.logpm.distribution.vo.DistributionSignforsnmbVO; -import com.logpm.distribution.vo.DistributionStockArticleVO; -import com.logpm.distribution.vo.SignforPageCountVO; -import com.logpm.distribution.vo.app.DistributionAppDeliveryListVO; -import com.logpm.distribution.vo.app.DistributionAppDeliverySelfVO; -import com.logpm.distribution.vo.app.DistributionAppPackageDetailVO; -import com.logpm.distribution.vo.app.DistributionAppParcelListVO; -import com.logpm.distribution.vo.app.DistributionAppSignforVO; -import com.logpm.distribution.vo.app.DistributionAppStockArticleVO; +import com.logpm.distribution.entity.*; +import com.logpm.distribution.excel.*; +import com.logpm.distribution.mapper.*; +import com.logpm.distribution.service.*; +import com.logpm.distribution.vo.*; +import com.logpm.distribution.vo.app.*; import com.logpm.distribution.wrapper.DistributionParcelListAppWrapper; import com.logpm.distribution.wrapper.DistributionParcelListWrapper; import com.logpm.distribution.wrapper.DistributionStockArticleWrapper; +import com.logpm.factory.comfac.dto.OrderStatusDTO; import com.logpm.oldproject.dto.SignPushDataContactDTO; import com.logpm.oldproject.dto.SignPushDataDTO; import com.logpm.oldproject.dto.SignPushDataUnitDTO; @@ -151,16 +74,8 @@ import org.springblade.common.constant.loading.LoadScanSigningStatusConstant; import org.springblade.common.constant.loading.LoadingAbnormalAuditingStatusConstant; import org.springblade.common.constant.loading.LoadingIsInsertConstant; import org.springblade.common.constant.loading.LoadingStatusConstant; -import org.springblade.common.constant.orderpackage.OrderPackageFreezeStatusConstant; -import org.springblade.common.constant.orderpackage.OrderPackageLoadingStatusConstant; -import org.springblade.common.constant.orderpackage.OrderPackageReservationStatusConstant; -import org.springblade.common.constant.orderpackage.OrderPackageStatusConstant; -import org.springblade.common.constant.orderpackage.OrderPackageStockupStatusConstant; -import org.springblade.common.constant.reservation.ReservationLoadingStatusConstant; -import org.springblade.common.constant.reservation.ReservationOrderStatusConstant; -import org.springblade.common.constant.reservation.ReservationPackageStatusConstant; -import org.springblade.common.constant.reservation.ReservationSigningStatusConstant; -import org.springblade.common.constant.reservation.ReservationStatusConstant; +import org.springblade.common.constant.orderpackage.*; +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; @@ -200,15 +115,7 @@ import java.io.IOException; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Function; @@ -2502,6 +2409,21 @@ public class DistributionSignforServiceImpl extends BaseServiceImplquery().lambda() + .eq(DistributionSignforEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId()) + ); + if (Objects.isNull(signforEntity)){ + //查询签收信息错误 + log.error("签收扫描查询签收表信息错误reservationId:{}",distrilbutionloadingscanDTO.getReservationId()); + return R.fail(403, "配送任务错误"); + } + if (SignforStatusConstant.yiqianshou.getValue().equals(signforEntity.getSigningStatus())){ + return Resp.scanFail("此任务已完成复核", "此任务已完成复核"); + } + + + List packageLockIds = new ArrayList<>(); try { @@ -2763,6 +2685,14 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl>>>> 签收异常报错", e); @@ -2770,6 +2700,49 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl map = new HashMap<>(); + map.put("messageData", jsonObject); + rabbitTemplate.convertAndSend(RabbitConstant.BUSINESS_IN_CONVERSION_DATA_EXCHANGE, RabbitConstant.BUSINESS_IN_CONVERSION_DATA_ROUTING, map); + } catch (Exception e) { + log.error("签收商家推送:{}", e); + } + } + @Override @Transactional(rollbackFor = Exception.class) public R signforPC(DistrilbutionAppsignforDTO distrilbutionloadingscanDTO) { @@ -3803,8 +3776,10 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl getAppDeliveryorderListPage(DistributionAppDeliveryListDTO distributionDeliveryList) { + List orderVos = new ArrayList<>(); if (Func.isEmpty(distributionDeliveryList.getReservationId())) { log.error("参数缺失reservationId:{}", distributionDeliveryList.getReservationId()); + return orderVos; } //查询该客户装车 @@ -3830,32 +3805,40 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl> reservationOrderMap = reservationStockarticleEntityList.stream().collect(Collectors.groupingBy(DistributionReservationStockarticleEntity::getStockArticleId)); Map> loadingOrderMap = distributionLoadscanEntities.stream().collect(Collectors.groupingBy(DistributionLoadscanEntity::getOrderId)); - List orderVos = new ArrayList<>(); + if (Func.isNotEmpty(orderIds)) { orderIds = orderIds.stream().distinct().collect(Collectors.toList()); - for (Long orderId : orderIds) { - DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(orderId); - DistributionAppStockArticleVO distributionAppStockArticleVO = Func.copy(stockArticleEntity, DistributionAppStockArticleVO.class); - distributionAppStockArticleVO.setTotalNumber(stockArticleEntity.getTotalNumber()); - distributionAppStockArticleVO.setStockArticleId(stockArticleEntity.getId()); - distributionAppStockArticleVO.setLoadingNub(0); + + List distributionStockArticleEntities = distributionStockArticleService.listByIds(orderIds); + + + + List reservationOrders = distributionReservationStockarticleService.list(Wrappers.query().lambda() + .eq(DistributionReservationStockarticleEntity::getReservationId, distributionDeliveryList.getReservationId()) + .in(DistributionReservationStockarticleEntity::getStockArticleId, orderIds) + .ne(DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue()) + ); + + for (DistributionStockArticleEntity distributionStockArticleEntity : distributionStockArticleEntities) { + + +// DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(orderId); + DistributionAppStockArticleVO distributionAppStockArticleVO = Func.copy(distributionStockArticleEntity, DistributionAppStockArticleVO.class); + assert distributionAppStockArticleVO != null; + distributionAppStockArticleVO.setLoadingNub(0); distributionAppStockArticleVO.setSignforNub(0); distributionAppStockArticleVO.setReservationNum(0); //查询预约该订单计划数量 - DistributionReservationStockarticleEntity reservationOrder = distributionReservationStockarticleService.getOne(Wrappers.query().lambda() - .eq(DistributionReservationStockarticleEntity::getReservationId, distributionDeliveryList.getReservationId()) - .eq(DistributionReservationStockarticleEntity::getStockArticleId, orderId) - .ne(DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue()) - ); + DistributionReservationStockarticleEntity reservationOrder = findReservationOrders(reservationOrders, distributionStockArticleEntity.getId()); if (Func.isNotEmpty(reservationOrder)) { distributionAppStockArticleVO.setReservationNum(reservationOrder.getReservationNum()); } - if (stockArticleEntity.getIsZero().equals(IsOrNoConstant.no.getValue())) { + if (distributionStockArticleEntity.getIsZero().equals(IsOrNoConstant.no.getValue())) { //判断此订单是是否是异常装车 - if (Func.isEmpty(reservationOrderMap.get(orderId))) { + if (Func.isEmpty(reservationOrderMap.get(distributionStockArticleEntity.getId()))) { //不存在计划之中的订单装车 - List loadscanEntityList = loadingOrderMap.get(orderId); + List loadscanEntityList = loadingOrderMap.get(distributionStockArticleEntity.getId()); List abnormalPackageIds = loadscanEntityList.stream().map(DistributionLoadscanEntity::getPackageId).collect(Collectors.toList()); List distributionParcelListEntities = distributionParcelListService.listByIds(abnormalPackageIds); List distributionAppParcelListVOS = DistributionParcelListAppWrapper.build().listVO(distributionParcelListEntities); @@ -3877,7 +3860,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl reservationPackage = distributionReservationPackageService.list(Wrappers.query().lambda() .eq(DistributionReservationPackageEntity::getReservationId, distributionDeliveryList.getReservationId()) - .eq(DistributionReservationPackageEntity::getStockArticleId, orderId) + .eq(DistributionReservationPackageEntity::getStockArticleId, distributionStockArticleEntity.getId()) .ne(DistributionReservationPackageEntity::getPacketBarStatus, ReservationPackageStatusConstant.quxiao.getValue()) ); List packageIds = new ArrayList<>(); @@ -3887,8 +3870,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl collect = null; - if (Func.isNotEmpty(loadingOrderMap.get(orderId))) { - List loadscanEntityList = loadingOrderMap.get(orderId); + if (Func.isNotEmpty(loadingOrderMap.get(distributionStockArticleEntity.getId()))) { + List loadscanEntityList = loadingOrderMap.get(distributionStockArticleEntity.getId()); List loadingPackageIds = loadscanEntityList.stream().map(DistributionLoadscanEntity::getPackageId).collect(Collectors.toList()); packageIds.addAll(loadingPackageIds); collect = loadscanEntityList.stream().collect(Collectors.toMap(DistributionLoadscanEntity::getPackageId, Function.identity(), (k1, k2) -> k2)); @@ -3900,11 +3883,13 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl packageVOS = new ArrayList<>(); if (Func.isNotEmpty(packageIds)) { packageIds = packageIds.stream().distinct().collect(Collectors.toList()); - for (Long packageId : packageIds) { - DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(packageId); + + List parcelListEntitys = distributionParcelListService.listByIds(packageIds); + for (DistributionParcelListEntity parcelListEntity : parcelListEntitys) { +// DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(packageId); DistributionAppParcelListVO distributionAppParcelListVO = DistributionParcelListAppWrapper.build().entityVO(parcelListEntity); if (Func.isNotEmpty(collect)) { - DistributionLoadscanEntity distributionLoadscanEntity = collect.get(packageId); + DistributionLoadscanEntity distributionLoadscanEntity = collect.get(parcelListEntity.getId()); if (Func.isNotEmpty(distributionLoadscanEntity)) { distributionAppParcelListVO.setMaterialName(parcelListEntity.getMaterialName()); if (distributionLoadscanEntity.getIsAbnormalLoading().equals(2)) { @@ -3931,16 +3916,16 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl reservationZeroPackageEntityList = distributionReservationZeroPackageService.list(Wrappers.query().lambda() .eq(DistributionReservationZeroPackageEntity::getReservationId, distributionDeliveryList.getReservationId()) - .eq(DistributionReservationZeroPackageEntity::getStockArticleId, orderId) + .eq(DistributionReservationZeroPackageEntity::getStockArticleId, distributionStockArticleEntity.getId()) .ne(DistributionReservationZeroPackageEntity::getZeroPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())); if (Func.isNotEmpty(reservationZeroPackageEntityList)) { int reservationTotal = reservationZeroPackageEntityList.stream().mapToInt(DistributionReservationZeroPackageEntity::getQuantity).sum(); distributionAppStockArticleVO.setReservationNum(reservationTotal); - List parcelNumberVOS = distributionReservationMapper.selectReservationZeroOrderDetail(orderId, Long.parseLong(distributionDeliveryList.getReservationId())); + List parcelNumberVOS = distributionReservationMapper.selectReservationZeroOrderDetail(distributionStockArticleEntity.getId(), Long.parseLong(distributionDeliveryList.getReservationId())); distributionAppStockArticleVO.setSignforNub(0); if (Func.isNotEmpty(parcelNumberVOS)) { parcelNumberVOS.forEach(p -> { - DistributionLoadscanEntity loadscanEntity = distributionLoadscanService.getOne(Wrappers.query().lambda().eq(DistributionLoadscanEntity::getReservationId, distributionDeliveryList.getReservationId()).eq(DistributionLoadscanEntity::getOrderId, orderId).eq(DistributionLoadscanEntity::getPackageId, p.getParcelListId()).ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())); + DistributionLoadscanEntity loadscanEntity = distributionLoadscanService.getOne(Wrappers.query().lambda().eq(DistributionLoadscanEntity::getReservationId, distributionDeliveryList.getReservationId()).eq(DistributionLoadscanEntity::getOrderId, distributionStockArticleEntity.getId()).eq(DistributionLoadscanEntity::getPackageId, p.getParcelListId()).ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())); p.setLoadingNum(0); p.setSigningNum(0); if (Func.isNotEmpty(loadscanEntity)) { @@ -3965,6 +3950,16 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl reservationOrders , Long id) { + return reservationOrders.stream().filter(f -> f.getStockArticleId().equals(id)).findFirst().orElse(null); + } + // Map> orderMap = distributionLoadscanEntities.stream().collect(Collectors.groupingBy(DistributionLoadscanEntity::getOrderId)); // List distributionAppStockArticleVOS = new ArrayList<>(); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java index 4453a3551..0759a43b9 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java @@ -310,8 +310,6 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl disStockListDetailEntities = new ArrayList<>(); for (int i1 = 0; i1 < deliveryDetails.getQuantity(); i1++) { @@ -2300,7 +2297,6 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl map = new HashMap<>(); map.put("orderPackageCode",p.getOrderPackageCode()); map.put("isSign",p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())); - map.put("category",p.getSecond()); + map.put("thirdProduct",p.getThirdProduct()); + map.put("fisrt",p.getThirdProduct()); + map.put("second",p.getSecond()); + map.put("materiel",p.getMaterialName()); map.put("orderId",p.getStockArticleId()); map.put("num",p.getQuantity()); mapList.add(map);