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 0df84a729..2fa2ae137 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 @@ -57,4 +57,12 @@ public interface IDistributionReservationClient { @GetMapping(TOP+"/retentionCancelReservationPack") boolean retentionCancelReservationPack(@RequestBody DistributionRetentionScanVo distributionRetentionScanVo); +// /** +// * 根据配送任务ID查询配送司机信息 +// * @param distributionRetentionScanVo +// * @return +// */ +// @Post(TOP+"/retentionCancelReservationPack") +// boolean retentionCancelReservationPack(@RequestBody DistributionRetentionScanVo distributionRetentionScanVo); + } diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/InComingDTO.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/InComingDTO.java new file mode 100644 index 000000000..93708b3e7 --- /dev/null +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/InComingDTO.java @@ -0,0 +1,16 @@ +package com.logpm.trunkline.dto; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class InComingDTO implements Serializable { + + private Long billladingId;//提货id + + private String orderPackageCode;//包件码 + + private Long warehouseId;//仓库id + +} diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/QuestDetailChildEntity.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/QuestDetailChildEntity.java index 37ce330b1..72b6ab9ee 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/QuestDetailChildEntity.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/QuestDetailChildEntity.java @@ -35,6 +35,11 @@ import org.springblade.core.tenant.mp.TenantEntity; @EqualsAndHashCode(callSuper = true) public class QuestDetailChildEntity extends TenantEntity { + /** + * id + */ + @ApiModelProperty(value = "id") + private Long id; /** * 预留1 */ diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseWaybillClient.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseWaybillClient.java index b44e5efc7..e6f1602b4 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseWaybillClient.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseWaybillClient.java @@ -60,4 +60,5 @@ public interface IWarehouseWaybillClient { @PostMapping(API_PREFIX + "/updateEntity") void updateEntity(@RequestBody WarehouseWaybillEntity warehouseWaybill); + } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataFreightController.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataFreightController.java index 48fae9b54..f39f4d434 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataFreightController.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataFreightController.java @@ -19,6 +19,7 @@ package com.logpm.basicdata.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.logpm.basicdata.dto.BasicdataFreightDTO; import com.logpm.basicdata.entity.BasicdataFreightEntity; import com.logpm.basicdata.excel.BasicdataFreightExcel; import com.logpm.basicdata.service.IBasicdataFreightService; @@ -116,7 +117,7 @@ public class BasicdataFreightController extends BladeController { @PostMapping("/submit") @ApiOperationSupport(order = 6) @ApiOperation(value = "新增或修改", notes = "传入basicdataFreight") - public R submit(@Valid @RequestBody BasicdataFreightEntity basicdataFreight) { + public R submit(@Valid @RequestBody BasicdataFreightDTO basicdataFreight) { return R.status(basicdataFreightService.ownSaveOrUpdate(basicdataFreight)); } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/dto/BasicdataFreightDTO.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/dto/BasicdataFreightDTO.java index 9f818d2bd..f76e19ca6 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/dto/BasicdataFreightDTO.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/dto/BasicdataFreightDTO.java @@ -30,5 +30,11 @@ import lombok.EqualsAndHashCode; @EqualsAndHashCode(callSuper = true) public class BasicdataFreightDTO extends BasicdataFreightEntity { private static final long serialVersionUID = 1L; + /** + * 客户ID + */ + private String clientIds; + + } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataFreightService.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataFreightService.java index 9611a737c..052b14074 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataFreightService.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataFreightService.java @@ -18,6 +18,7 @@ package com.logpm.basicdata.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.logpm.basicdata.dto.BasicdataFreightDTO; import com.logpm.basicdata.entity.BasicdataFreightEntity; import com.logpm.basicdata.excel.BasicdataFreightExcel; import com.logpm.basicdata.vo.BasicdataFreightVO; @@ -55,5 +56,6 @@ public interface IBasicdataFreightService extends BaseService{ QueryWrapper queryWrapper = new QueryWrapper<>(); - if(type.equals("1")){ - //客户 - queryWrapper.apply(ObjectUtils.isNotNull(o1),"lbb.brand_name like concat('%',{0},'%') ",o1); - queryWrapper.apply("lbsb.client_id ={0} ",i); + //客户 + queryWrapper.apply(ObjectUtils.isNotNull(o1),"lbb.brand_name like concat('%',{0},'%') ",o1); + queryWrapper.apply("lbsb.client_id ={0} ",i); + /*if(ObjectUtils.isNotNull(type)){ + if(type.equals("1")){ + + } }else{ //门店 //客户 queryWrapper.apply(ObjectUtils.isNotNull(o1),"lbb.brand_name like concat('%',{0},'%') ",o1); queryWrapper.apply("lbsb.shop_id ={0} ", i); - } + }*/ List basicdataStoreBrandVOS = baseMapper.listNameBrand(queryWrapper ); // 查询相关品牌信息 voList.addAll(basicdataStoreBrandVOS); /* List basicdataStoreBrandEntities = baseMapper.selectList(Wrappers.query().lambda() diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionDeliveryAppController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionDeliveryAppController.java index 86d98ec88..f94979462 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionDeliveryAppController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionDeliveryAppController.java @@ -284,7 +284,7 @@ public class DistributionDeliveryAppController { /** * 扫描查询配送任务下的包件信息 */ - @PostMapping("/getZeroPackageInfo") + @PostMapping("/getZeroPackageInfo") @ApiOperationSupport(order = 11) public R getZeroPackageInfo(@Valid @RequestBody DistrilbutionloadingscanDTO distrilbutionloadingscanDTO) { R distributionParcelListVOS = distributionDeliveryListService.getZeroPackageInfo(distrilbutionloadingscanDTO); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java index 403deaba6..4108663e3 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java @@ -756,10 +756,14 @@ public class DistributionStockupAppController extends BladeController { .eq(DistributionParcelListEntity::getWarehouseId, byId.getWarehouseId()) ); if(ObjectUtils.isNotNull(list) && list.size() > 1){ - throw new ServiceException("查询到重复包条信息!!"); + return Resp.scanFail("查询到重复包条信息!!","查询到重复包条信息!!"); } if(ObjectUtils.isNull(list)){ - throw new ServiceException("没有查询到包件信息"); + return Resp.scanFail("没有查询到包件信息 ! ","没有查询到包件信息 ! "); + } + if(!list.get(0).getConditions().equals("2")){ + return Resp.scanFail("当前包件不是库存品,无法备货!!","当前包件不是库存品,无法备货!!"); + } WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity = new WarehouseUpdownGoodsEntity(); warehouseUpdownGoodsEntity.setAllocationId(stockupDTO.getAllocationId()); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java index d2e30dae8..658f718bd 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java @@ -341,7 +341,7 @@ public class DistributionSignforController extends BladeController { @ApiOperationSupport(order = 7) @ApiOperation(value = "PC查看增值服务列表", notes = "传入ids") public R checkAddValuePackageList(@RequestBody DistributionAppAddvalueDTO distributionAppAddvalueDTO) { - return distributionAddvalueService.saveAddvalueInfo(distributionAppAddvalueDTO); + return distributionAddvalueService.savePCAddvalueInfo(distributionAppAddvalueDTO); } /** diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionReservationPackageExcel.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionReservationPackageExcel.java index ebd7f0a0a..dc23dc6a7 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionReservationPackageExcel.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionReservationPackageExcel.java @@ -138,31 +138,31 @@ public class DistributionReservationPackageExcel implements Serializable { */ @ColumnWidth(20) @ExcelProperty("一级品") - private Long firsts; + private String firsts; /** * 订单编号 */ @ColumnWidth(20) @ExcelProperty("二级品") - private Long second; + private String second; /** * 订单编号 */ @ColumnWidth(20) @ExcelProperty("三级品") - private Long thirdProduct; + private String thirdProduct; /** * 订单编号 */ @ColumnWidth(20) @ExcelProperty("物料名称") - private Long materialName; + private String materialName; /** * 订单编号 */ @ColumnWidth(20) @ExcelProperty("数量") - private Long quantity; + private Integer quantity; // /** // * 订单编号 // */ @@ -174,12 +174,12 @@ public class DistributionReservationPackageExcel implements Serializable { */ @ColumnWidth(20) @ExcelProperty("货位数量") - private Long positionCode; + private Integer positionCode; /** * 订单编号 */ @ColumnWidth(20) @ExcelProperty("所在托盘") - private Long trayCode; + private String trayCode; } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java index e8a8bb27b..02101bb2b 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java @@ -62,6 +62,7 @@ public class DistributionParcelListClient implements IDistributionParcelListClie .eq(ObjectUtils.isNotNull(parcelListEntity.getId()),DistributionParcelListEntity::getId,parcelListEntity.getId()) .eq(ObjectUtils.isNotNull(parcelListEntity.getWarehouseId()),DistributionParcelListEntity::getWarehouseId,parcelListEntity.getWarehouseId()) .eq(ObjectUtils.isNotNull(parcelListEntity.getStockArticleId()),DistributionParcelListEntity::getStockArticleId,parcelListEntity.getStockArticleId()) + .notIn(ObjectUtils.isNotNull(parcelListEntity.getOrderPackageStatus()),DistributionParcelListEntity::getOrderPackageStatus,parcelListEntity.getOrderPackageStatus().split(",")) ); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueDetailMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueDetailMapper.java index f06dbdf17..ae0f616c1 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueDetailMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionAddvalueDetailMapper.java @@ -56,4 +56,10 @@ public interface DistributionAddvalueDetailMapper extends BaseMapper DELETE FROM logpm_distribution_addvalue_detail WHERE addvalue_id = #{addvalueId} + + DELETE FROM logpm_distribution_addvalue_detail WHERE id = #{id} + - SELECT - ldpl.id, + ldpl.id AS packageId, ldpl.firsts, ldpl.`second`, ldpl.third_product, @@ -217,22 +217,22 @@ + + select sum(total_num) + from logpm_trunkline_advance + where is_deleted = 0 + and order_code = #{orderCode} + + diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingMapper.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingMapper.java index 388a861f6..b59d2c84d 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingMapper.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingMapper.java @@ -13,4 +13,5 @@ public interface TrunklineBillladingMapper extends BaseMapper pageList(IPage page, @Param("param") BillladingDTO billladingDTO); + IPage pageInfoList(IPage page, @Param("param") BillladingDTO billladingDTO); } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingMapper.xml b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingMapper.xml index 10c5e2771..f84ff2495 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingMapper.xml +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingMapper.xml @@ -8,27 +8,13 @@ ltb.car_number carNumber, ltb.driver_name driverName, ltb.driver_phone driverPhone, + ltb.line_name_title lineTameTitle, ltb.warehouse_id warehouseId, ltb.warehouse_name warehouseName, - ltb.line_id lineId, - ltb.line_name_title lineNameTitle, - lbd.node_nub nodeNub, - ltb.start_time startTime, - ltb.end_time endTime, - ltb.plan_num planNum, ltb.billlading_status billladingStatus, - ltb.charge_type chargeType, - ltb.total_fee totalFee, ltb.remark remark, - ltb.carrier_name carrierName, - ltb.create_user_name createUserName, - count(ltbw.id) waybillCount, - sum(ltbw.real_num) totalNum, - sum(ltbw.real_weight) totalWeight, - sum(ltbw.real_volume) totalVolume + ltb.carrier_name carrierName from logpm_trunkline_billlading ltb - left join logpm_basic_deline lbd on lbd.id = ltb.line_id - left join logpm_trunkline_billlading_waybill ltbw on ltbw.billlading_id = ltb.id and ltbw. where ltb.is_deleted = 0 and ltb.billlading_code = #{param.billladingCode} @@ -54,25 +40,14 @@ and ltb.create_user_name = #{param.createUserName} - group by ltb.id,ltb.billlading_code, - ltb.car_number, - ltb.driver_name, - ltb.driver_phone, - ltb.warehouse_id, - ltb.warehouse_name, - ltb.line_id, - ltb.line_name_title, - lbd.node_nub, - ltb.start_time, - ltb.end_time, - ltb.plan_num, - ltb.billlading_status, - ltb.charge_type, - ltb.total_fee, - ltb.remark, - ltb.carrier_name, - ltb.create_user_name order by ltb.create_time desc + + + diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IInComingService.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IInComingService.java new file mode 100644 index 000000000..5e2c882f0 --- /dev/null +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IInComingService.java @@ -0,0 +1,10 @@ +package com.logpm.trunkline.service; + +import com.logpm.trunkline.dto.InComingDTO; +import org.springblade.core.tool.api.R; + +public interface IInComingService { + + R incomingPackage(InComingDTO inComingDTO); + +} diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java index 688a20d52..6ada3bbb7 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java @@ -4,4 +4,7 @@ import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity; import org.springblade.core.mp.base.BaseService; public interface ITrunklineAdvanceDetailService extends BaseService { + + void updatePackageStatusById(String packageStatus, Long advanceDetailId); + } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceService.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceService.java index 9f0ac58cb..1ad777d03 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceService.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceService.java @@ -1,7 +1,10 @@ package com.logpm.trunkline.service; +import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity; import com.logpm.trunkline.entity.TrunklineAdvanceEntity; import org.springblade.core.mp.base.BaseService; public interface ITrunklineAdvanceService extends BaseService { + + void saveOrderAndPackage(TrunklineAdvanceDetailEntity advanceDetailEntity, Long warehouseId); } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingService.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingService.java index cd5396d7e..a1930489b 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingService.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineBillladingService.java @@ -11,4 +11,7 @@ public interface ITrunklineBillladingService extends BaseService pageList(BillladingDTO billladingDTO); void saveNew(BillladingDTO billladingDTO,String warehouseCode); + + IPage pageInfoList(BillladingDTO billladingDTO); + } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java new file mode 100644 index 000000000..958ff3113 --- /dev/null +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java @@ -0,0 +1,61 @@ +package com.logpm.trunkline.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.logpm.trunkline.bean.Resp; +import com.logpm.trunkline.dto.InComingDTO; +import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity; +import com.logpm.trunkline.service.IInComingService; +import com.logpm.trunkline.service.ITrunklineAdvanceDetailService; +import com.logpm.trunkline.service.ITrunklineAdvanceService; +import com.logpm.trunkline.service.ITrunklineBillladingPackageServicie; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springblade.core.tool.api.R; +import org.springframework.stereotype.Service; + +import java.util.Objects; + +@Slf4j +@Service +@AllArgsConstructor +public class InComingServiceImpl implements IInComingService { + + private final ITrunklineBillladingPackageServicie billladingPackageServicie; + private final ITrunklineAdvanceDetailService advanceDetailService; + private final ITrunklineAdvanceService advanceService; + + @Override + public R incomingPackage(InComingDTO inComingDTO) { + String orderPackageCode = inComingDTO.getOrderPackageCode();//包件码 + Long warehouseId = inComingDTO.getWarehouseId();//仓库id + Long billladingId = inComingDTO.getBillladingId();//提货单id + + log.info("############incomingPackage: 包件入库开始 orderPackageCode={} billladingId={} warehouseId={}",orderPackageCode,billladingId,warehouseId); + //包件入库开始 + //查询包件是否有数据 + QueryWrapper advanceDetailQueryWrapper = new QueryWrapper<>(); + advanceDetailQueryWrapper.eq("order_package_code",orderPackageCode) + .eq("warehouse_id",warehouseId); + TrunklineAdvanceDetailEntity advanceDetailEntity = advanceDetailService.getOne(advanceDetailQueryWrapper); + if(Objects.isNull(advanceDetailEntity)){ + log.warn("############incomingPackage: 包件不存在 orderPackageCode={} warehouseId={}",orderPackageCode,warehouseId); + return Resp.scanFail(405,"包件无数据","包件无数据"); + } + Long advanceDetailId = advanceDetailEntity.getId(); + String packageStatus = advanceDetailEntity.getPackageStatus(); + if("1".equals(packageStatus)){ + log.warn("############incomingPackage: 包件已入库 orderPackageCode={} warehouseId={}",orderPackageCode,warehouseId); + return Resp.scanFail(405,"包件已入库","包件已入库"); + } + + //1.修改暂存单包件入库状态 + advanceDetailService.updatePackageStatusById("1",advanceDetailId); + + //2.判断包件和订单是否已经存入在库订单 + advanceService.saveOrderAndPackage(advanceDetailEntity,warehouseId); + + + + return null; + } +} diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java index dc14d9058..6ef012d79 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java @@ -12,4 +12,8 @@ import org.springframework.stereotype.Service; @Service @AllArgsConstructor public class TrunklineAdvanceDetailServiceImpl extends BaseServiceImpl implements ITrunklineAdvanceDetailService { + @Override + public void updatePackageStatusById(String packageStatus, Long advanceDetailId) { + baseMapper.updatePackageStatusById(packageStatus,advanceDetailId); + } } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceServiceImpl.java index 58a87899f..6dc7e2b95 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceServiceImpl.java @@ -1,15 +1,77 @@ package com.logpm.trunkline.service.impl; +import com.logpm.basicdata.entity.BasicdataWarehouseEntity; +import com.logpm.basicdata.feign.IBasicdataWarehouseClient; +import com.logpm.distribution.entity.DistributionParcelListEntity; +import com.logpm.distribution.entity.DistributionStockArticleEntity; +import com.logpm.distribution.feign.IDistributionParcelListClient; +import com.logpm.distribution.feign.IDistributionStockArticleClient; +import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity; import com.logpm.trunkline.entity.TrunklineAdvanceEntity; import com.logpm.trunkline.mapper.TrunklineAdvanceMapper; import com.logpm.trunkline.service.ITrunklineAdvanceService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springblade.common.constant.TenantNum; +import org.springblade.common.exception.CustomerException; import org.springblade.core.mp.base.BaseServiceImpl; import org.springframework.stereotype.Service; +import java.util.Objects; + @Slf4j @Service @AllArgsConstructor public class TrunklineAdvanceServiceImpl extends BaseServiceImpl implements ITrunklineAdvanceService { + + private final IDistributionStockArticleClient stockArticleClient; + private final IDistributionParcelListClient parcelListClient; + private final ITrunklineAdvanceService advanceService; + private final IBasicdataWarehouseClient basicdataWarehouseClient; + + + @Override + public void saveOrderAndPackage(TrunklineAdvanceDetailEntity advanceDetailEntity, Long warehouseId) { + String orderPackageCode = advanceDetailEntity.getOrderPackageCode(); + String orderCode = advanceDetailEntity.getOrderCode(); + Long advanceId = advanceDetailEntity.getAdvanceId(); + log.info("############saveOrderAndPackage: 保存订单和包件信息 orderPackageCode={}",orderPackageCode); + + BasicdataWarehouseEntity warehouseEntity = basicdataWarehouseClient.getEntityWarehouseId(warehouseId); + if(Objects.isNull(warehouseEntity)){ + log.warn("############saveOrderAndPackage: 仓库信息不存在warehouseId={}",warehouseId); + throw new CustomerException(405,"仓库信息不存在"); + } + + //1.判断包件是否已经存在 + DistributionParcelListEntity parcelListEntity = parcelListClient.findByPacketBarCodeAndWarehouseId(orderPackageCode, warehouseId); + if(!Objects.isNull(parcelListEntity)){ + log.warn("############saveOrderAndPackage: 包件信息已存在 orderPackageCode={} warehouseId={}",orderPackageCode,warehouseId); + throw new CustomerException(405,"包件信息已存在"); + } + + //2.查询订单信息 + int total = baseMapper.getAllTotalNum(orderCode); + + DistributionStockArticleEntity stockArticleEntity = stockArticleClient.findStockArticleByOrderCodeAndWarehouseId(orderCode, warehouseId); + if(Objects.isNull(stockArticleEntity)){ + log.info("#############saveOrderAndPackage: 订单信息为空,同步订单信息"); + //订单信息为空 + TrunklineAdvanceEntity advanceEntity = advanceService.getById(advanceId); + stockArticleEntity = new DistributionStockArticleEntity(); + stockArticleEntity.setOrderCode(orderCode); + stockArticleEntity.setServiceNumber(advanceEntity.getServiceNum()); + stockArticleEntity.setWaybillNumber(advanceEntity.getWaybillNo()); + stockArticleEntity.setTotalNumber(total); + stockArticleEntity.setHandQuantity(0); + stockArticleEntity.setTenantId(TenantNum.HUITONGCODE);// 对应租户ID + stockArticleEntity.setWarehouse(warehouseEntity.getName()); + stockArticleEntity.setWarehouseId(warehouseId); + stockArticleEntity.setBrand(advanceEntity.getBrand()); + + } + + + } + } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java index ea4e903e8..8d9f9b90a 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingServiceImpl.java @@ -103,4 +103,18 @@ public class TrunklineBillladingServiceImpl extends BaseServiceImpl pageInfoList(BillladingDTO billladingDTO) { + + IPage page = new Page<>(); + page.setCurrent(billladingDTO.getPageNum()); + page.setSize(billladingDTO.getPageSize()); + + billladingDTO.setBillladingStatus("2"); + + IPage pageList = baseMapper.pageInfoList(page,billladingDTO); + + return pageList; + } } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseRetentionApiController.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseRetentionApiController.java index b1bc1b387..06497cd3b 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseRetentionApiController.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseRetentionApiController.java @@ -85,6 +85,16 @@ public class WarehouseRetentionApiController { } + @PostMapping("/updateRetentionList") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "保存滞留扫描列表", notes = "传入trayTypeDTO") + public R updateRetentionList(@RequestBody WarehouseRetentionRecordDTO warehouseRetentionScanDTOS) { +// R r = warehouseRetentionScanService.saveRetentionList(warehouseRetentionScanDTOS); + R r = warehouseRetentionRecordService.updateRetentionList(warehouseRetentionScanDTOS); + return r; + } + + // @GetMapping("/initRetentionList") // @ApiOperationSupport(order = 1) diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTaskApiController.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTaskApiController.java index bb0de6ccb..f7129fcb2 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTaskApiController.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTaskApiController.java @@ -113,7 +113,7 @@ public class WarehouseTaskApiController { return R.fail(403,"仓库信息为空"); } taskSearchDTO.setWarehouseId(myCurrentWarehouse.getId()); - R r= taskQuestService.queryContract(Condition.getPage(query), taskSearchDTO); + R r= taskQuestService.queryContractGai(Condition.getPage(query), taskSearchDTO); return r; } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseWaybillController.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseWaybillController.java index 252cb387c..b275d314a 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseWaybillController.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseWaybillController.java @@ -16,7 +16,6 @@ */ package com.logpm.warehouse.controller; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.logpm.basicdata.entity.BasicdataWarehouseEntity; @@ -25,9 +24,8 @@ import com.logpm.distribution.entity.DistributionStockArticleEntity; import com.logpm.distribution.feign.IDistributionStockArticleClient; import com.logpm.warehouse.dto.ProductDTO; import com.logpm.warehouse.dto.SplitOrderDTO; -import com.logpm.warehouse.entity.WarehouseWarehousingDetailEntity; +import com.logpm.warehouse.dto.WarehouseWaybillDTO; import com.logpm.warehouse.entity.WarehouseWaybillEntity; -import com.logpm.warehouse.excel.WarehouseWarehousingDetailExcel; import com.logpm.warehouse.excel.WarehouseWaybillExcel; import com.logpm.warehouse.service.IWarehouseWaybillService; import com.logpm.warehouse.vo.WarehouseWaybillVO; @@ -44,7 +42,6 @@ import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.secure.BladeUser; import org.springblade.core.tool.api.R; -import org.springblade.core.tool.constant.BladeConstant; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.system.feign.IDictBizClient; @@ -56,7 +53,6 @@ import javax.validation.Valid; import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.stream.Collectors; /** * 运单表 控制器 @@ -75,7 +71,7 @@ public class WarehouseWaybillController extends BladeController { private final IDistributionStockArticleClient distributionStockArticleClient; - private final IBasicdataWarehouseClient basicdataWarehouseClient; + private final IBasicdataWarehouseClient warehouseClient; private final IDictBizClient dictBizClient; @@ -251,4 +247,35 @@ public class WarehouseWaybillController extends BladeController { ExcelUtil.export(response, "在库运单" + DateUtil.time(), "在库运单数据表", list, WarehouseWaybillExcel.class); } + + @ResponseBody + @PostMapping("/pageWaybillList") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "分页查询运单", notes = "传入waybillDTO") + public R pageWaybillList(@RequestBody WarehouseWaybillDTO waybillDTO) { + String method = "############pageWaybillList: "; + log.info(method + "请求参数{}", waybillDTO); + try{ + //当前登录人选择的仓库 + BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); + if(Objects.isNull(myCurrentWarehouse)){ + log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse); + return R.fail(403,"仓库信息为空"); + } + waybillDTO.setWarehouseId(myCurrentWarehouse.getId()); + + IPage pages = warehouseWaybillService.pageList(waybillDTO); + + return R.data(pages); + }catch (CustomerException e){ + log.error(e.message,e); + return R.fail(e.code,e.message); + }catch (Exception e){ + log.error("############sendOrders: 系统异常",e); + return R.fail(500,"############sendOrders: 系统异常"); + } + } + + + } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/WarehouseWaybillDTO.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/WarehouseWaybillDTO.java index 2eedc6e46..21f35542f 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/WarehouseWaybillDTO.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/WarehouseWaybillDTO.java @@ -37,4 +37,11 @@ public class WarehouseWaybillDTO extends WarehouseWaybillEntity { private List destinationWarehouseIds; + private Integer pageNum; + private Integer pageSize; + + private Long warehouseId; + + private List waybillNoList; + } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.xml b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.xml index f4df050fc..f910b0d5c 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.xml +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/TaskQuestMapper.xml @@ -146,6 +146,7 @@ and allocation_id =#{param.allocationId } and tray_id =#{param.trayId } and order_code =#{param.orderCode } + and orde_package_code =#{param.ordePackageCode } + select * + from logpm_warehouse_waybill + where is_deleted = 0 + + and waybill_no not in + + #{item} + + + + diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/ITaskQuestService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/ITaskQuestService.java index b0bcd8361..5a79810c5 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/ITaskQuestService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/ITaskQuestService.java @@ -85,6 +85,16 @@ public interface ITaskQuestService extends BaseService { */ R queryContract(IPage page,TaskSearchDTO taskSearchDTO); + + /** + * 合同号扫描改 + * + * @param page + * @param taskSearchDTO + * @return + */ + R queryContractGai(IPage page,TaskSearchDTO taskSearchDTO); + /** * 盘点定制平数据 * diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseRetentionRecordService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseRetentionRecordService.java index 11d5111e9..62120b28c 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseRetentionRecordService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseRetentionRecordService.java @@ -73,4 +73,12 @@ public interface IWarehouseRetentionRecordService extends BaseService exportWarehouseRetentionRecord(Map paramMap); + + /** + * 增加滞留包件 + * @param warehouseRetentionScanDTOS + * @return + */ + R updateRetentionList(WarehouseRetentionRecordDTO warehouseRetentionScanDTOS); + } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWaybillService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWaybillService.java index 07cdb3e8c..d5de08ea0 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWaybillService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWaybillService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.logpm.distribution.entity.DistributionStockArticleEntity; import com.logpm.warehouse.dto.SplitOrderDTO; +import com.logpm.warehouse.dto.WarehouseWaybillDTO; import com.logpm.warehouse.dto.WaybillDTO; import com.logpm.warehouse.entity.WarehouseWaybillEntity; import com.logpm.warehouse.excel.WarehouseWaybillExcel; @@ -46,4 +47,7 @@ public interface IWarehouseWaybillService extends BaseService exportWarehouseWarehousingDetail(Map warehouseWaybillEntity); IPage pageInfo(IPage page, Map warehouseWaybill); + + IPage pageList(WarehouseWaybillDTO waybillDTO); + } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java index 7feaf1944..7e496833e 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/TaskQuestServiceImpl.java @@ -17,6 +17,7 @@ package com.logpm.warehouse.service.impl; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.Query; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; @@ -46,6 +47,7 @@ import com.logpm.warehouse.vo.*; import lombok.AllArgsConstructor; import lombok.extern.log4j.Log4j2; import org.springblade.common.constant.common.IsOrNoConstant; +import org.springblade.common.constant.orderpackage.OrderPackageStatusConstant; import org.springblade.common.exception.CustomerException; import org.springblade.common.utils.CommonUtil; import org.springblade.core.log.exception.ServiceException; @@ -205,6 +207,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl subList = detailEntityList.subList(i, endIndex); + for (int i = 0; i < xh; i++) { + int startIndex = i * batchSize; + int endIndex = Math.min(startIndex + batchSize, totalSize); + List subList = detailEntityList.subList(startIndex, endIndex); baseMapper.insertQuestDetail(questNum, subList); } +// int totalSize = detailEntityList.size(); // 获取总数据量 +// int batchSize = 1000; // 设置批处理的大小 +// int xh = (int) Math.ceil( totalSize / batchSize); +// for (int i = 0; i < xh; i ++) { +// List subList = new ArrayList<>(); +// if(i == 0){ +// subList = detailEntityList.subList(i, batchSize); +// baseMapper.insertQuestDetail(questNum, subList); +// +// }else{ +// subList = detailEntityList.subList(batchSize, batchSize+1000); +// baseMapper.insertQuestDetail(questNum, subList); +// batchSize = batchSize+1000; +// } +// } +// int q = totalSize - (xh * batchSize); +// if(q > 0){ +// baseMapper.insertQuestDetail(questNum,detailEntityList.subList(xh * batchSize, q)); +// } + log.info("数量七千万===》》》"+xh); } } @@ -844,7 +868,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl list = getQuestDetailInfo(taskQuestEntity.getQuestNum()+"_child",questDetailChildEntity); if(!list.isEmpty()){ - int sum = list.stream().mapToInt(QuestDetailChildEntity::getQuestNum).sum(); + int sum = list.stream().filter(i ->i.getCargoName().equals("10")).mapToInt(QuestDetailChildEntity::getQuestNum).sum(); unTotal.set(unTotal.get() + sum); }else{ throw new ServiceException("未找到对应的处理数据!!"); @@ -910,7 +934,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl ObjectUtils.isNull(i.getId())); if(b){ //添加 baseMapper.insertQuestDetailChildList(taskSearchDTO.getQuestNum()+"_child",childList); }else{ //修改 - baseMapper.updetaQuestDetailChildList(taskQuestEntity.getQuestNum()+"_child",childList); + List collect = childList.stream().filter(i -> ObjectUtils.isNotNull(i.getQuestNum()) && i.getQuestNum() > 0).collect(Collectors.toList()); + baseMapper.updetaQuestDetailChildList(taskQuestEntity.getQuestNum()+"_child",collect); } } // questDetailChildService.saveOrUpdateBatch(childList); @@ -1640,12 +1665,12 @@ public class TaskQuestServiceImpl extends BaseServiceImpl queryWrapper = Wrappers.query().lambda() // .eq(QuestDetailEntity::getQuestId, taskSearchDTO.getTaskId()) // .eq(QuestDetailEntity::getWarehouseId, taskSearchDTO.getWarehouseId()) // .eq(QuestDetailEntity::getQuestType, 3); + //是否库存品 0 否 1是 if (Func.equals(isInventory,1)){ detailEntity.setIncomingBatch(taskSearchDTO.getOrderCode()); }else { @@ -1654,14 +1679,14 @@ public class TaskQuestServiceImpl extends BaseServiceImpl questDetailEntities = baseMapper.selectTaskInfo(page,taskSearchDTO.getQuestNum(),detailEntity); List type = questDetailEntities.getRecords().stream().filter(f -> Func.isNotEmpty(f.getQuestTarget())).map(QuestDetailEntity::getQuestTarget).distinct().collect(Collectors.toList()); if (Func.isEmpty(type)){ - return null; + return Resp.scanFail("无数据信息!","无数据信息!"); } if (type.size() != 1){ log.error("###################orderId查询类型异常:{}",taskSearchDTO.getOrderId()); return null; } TaskContractVO contractVO = new TaskContractVO(); - AtomicInteger total = new AtomicInteger(); + AtomicInteger total = new AtomicInteger(); //总数 AtomicInteger operationNum = new AtomicInteger(); ArrayList taskPackagelistVOS = new ArrayList<>(); List orderCode = questDetailEntities.getRecords().stream().map(QuestDetailEntity::getOrderCode).distinct().collect(Collectors.toList()); @@ -1903,17 +1928,22 @@ public class TaskQuestServiceImpl extends BaseServiceImpl page, TaskSearchDTO taskSearchDTO) { +// String goodsType = taskSearchDTO.getGoodsType(); + Integer type = taskSearchDTO.getType(); + String questNum = taskSearchDTO.getQuestNum(); + Long taskQuestId = taskSearchDTO.getTaskId(); + if (Func.isEmpty(type)){ + log.error("####################前端参数type传递有误:{}",type); + return Resp.scanFail("操作失败", "服务器正忙..."); + } + if (Func.isEmpty(questNum)){ + log.error("####################前端参数questNum传递有误:{}",questNum); + return Resp.scanFail("操作失败", "服务器正忙..."); + } + String incomingBatch = taskSearchDTO.getIncomingBatch(); //输入的码 + String code = taskSearchDTO.getCode(); //扫描的码 + QuestDetailEntity questDetail = new QuestDetailEntity(); + if(type == 1){ + if(ObjectUtils.isNull(code)){ + log.error("####################订单合同号为空"); + return Resp.scanFail("操作失败", "请填写正确合同号"); + } + questDetail.setOrdePackageCode(code); + }else{ + if(ObjectUtils.isNull(incomingBatch)){ + log.error("####################订单合同号为空"); + return Resp.scanFail("操作失败", "请输入正确合同号"); + } + questDetail.setOrderCode(incomingBatch); + } + //检验是否完结 + verifyTask(taskQuestId, taskSearchDTO.getWarehouseId()); + + TaskQuestEntity taskQuestEntity = baseMapper.selectById(taskQuestId); + taskSearchDTO.setQuestNum(taskQuestEntity.getQuestNum()); + + List taskContractVOS = new ArrayList<>(); + //查询盘点数据 + questDetail.setQuestId(taskQuestId); + questDetail.setWarehouseId(taskSearchDTO.getWarehouseId()); + IPage questDetailEntityList; + questDetailEntityList = baseMapper.selectTaskInfo(page,taskSearchDTO.getQuestNum(),questDetail); + + if(ObjectUtils.isNull(questDetailEntityList.getRecords())){ + if(type == 2){ + questDetail.setOrderCode(null); + questDetail.setOrdePackageCode(incomingBatch); + questDetailEntityList = baseMapper.selectTaskInfo(page,taskSearchDTO.getQuestNum(),questDetail); + if(ObjectUtils.isNull(questDetailEntityList.getRecords())){ + return Resp.scanSuccess("无盘点数据!","无盘点数据!"); + } + + }else{ + return Resp.scanSuccess("无盘点数据!","无盘点数据!"); + } + } + questDetailEntityList.getRecords().stream().collect(Collectors.groupingBy(QuestDetailEntity::getOrderId)) + .forEach((k,v)->{ + TaskContractVO taskContractVO = new TaskContractVO(); + taskContractVO.setOrderId(k); + taskContractVO.setOrderCode(v.get(0).getOrderCode()); + DistributionStockArticleEntity entityByStockArticle = distributionStockArticleClient.findEntityByStockArticleId(k); + taskContractVO.setTotal(entityByStockArticle.getTotalNumber()); + taskContractVO.setZktotal(entityByStockArticle.getHandQuantity()); + int size = v.stream().map(i -> i.getQuestStatus().equals("1")).collect(Collectors.toList()).size(); + taskContractVO.setUnTotal(size); + boolean b = v.stream().anyMatch(ii -> ii.getQuestTarget().equals(1)); + taskContractVO.setIsZero(b ? 0 : 1); + taskContractVO.setIsInventory(b ? 0 : 1); + taskContractVOS.add(taskContractVO); + }); + return R.data(taskContractVOS); + } + private String getQuestNum(String warehouseCode) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionRecordServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionRecordServiceImpl.java index 124bb08e2..64441eb35 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionRecordServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionRecordServiceImpl.java @@ -43,6 +43,7 @@ import com.logpm.warehouse.mapper.WarehouseRetentionRecordMapper; import com.logpm.warehouse.service.IWarehouseRetentionRecordService; import com.logpm.warehouse.service.IWarehouseRetentionScanService; import com.logpm.warehouse.vo.WarehouseRetentionRecordVO; +import com.logpm.warehouse.vo.WarehouseRetentionScanVO; import com.logpm.warehouse.vo.WarehouseWaybillDetentionVO; import com.logpm.warehouse.wrapper.WarehouseRetentionRecordWrapper; import com.logpm.warehouse.wrapper.WarehouseRetentionScanWrapper; @@ -62,6 +63,7 @@ import org.springframework.stereotype.Service; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -176,20 +178,26 @@ public class WarehouseRetentionRecordServiceImpl extends BaseServiceImpl{ r.setRetentionScanTime(new Date()); r.setRetentionScanUserId(user.getUserId()); r.setRetentionScanUsername(user.getUserName()); + r.setRetentionQuantity(r.getRetentionQuantity()); + retentionTotal.getAndAdd(r.getRetentionQuantity()); r.setDeliveryId(warehouseRetentionRecordDTO.getDeliveryId()); r.setRefId(warehouseRetentionRecordEntity.getId()); warehouseRetentionScanService.save(Func.copy(r,WarehouseRetentionScanEntity.class)); //进行滞留操作的包件需要和原来订单 预约进行绑定解除 //TODO 需要一个取消配送包件的方法 +// reservationClient.retentionCancelReservationPack(); }); + warehouseRetentionRecordEntity.setRetentionQuantity(retentionTotal.get()); + this.updateById(warehouseRetentionRecordEntity); return Resp.scanSuccess("操作成功","操作成功"); } @@ -218,4 +226,58 @@ public class WarehouseRetentionRecordServiceImpl extends BaseServiceImpl warehouseRetentionScanDTOList = warehouseRetentionScanDTOS.getWarehouseRetentionScanDTOS(); + if (Func.isEmpty(warehouseRetentionScanDTOList)){ + log.error("##########缺少滞留包件列表:{}",warehouseRetentionScanDTOList); + return Resp.scanFail("无滞留包件信息","无滞留包件信息"); + } + //如果滞留全部为空,这里执行删除操作 + //查询出该滞留任务是否存在 + List retentionScanEntityList = warehouseRetentionScanService.list(Wrappers.query().lambda() + .eq(WarehouseRetentionScanEntity::getDeliveryId, warehouseRetentionScanDTOS.getDeliveryId()) + .eq(WarehouseRetentionScanEntity::getRefId, warehouseRetentionScanDTOS.getId())); + WarehouseRetentionRecordEntity retentionRecordEntity = this.getById(warehouseRetentionScanDTOS.getId()); + if(Func.isNotEmpty(retentionScanEntityList)){ + BladeUser user = AuthUtil.getUser(); + Map retentionPackageMap = retentionScanEntityList.stream().collect(Collectors.toMap(WarehouseRetentionScanEntity::getOrderPackageId, Function.identity(), (k1, k2) -> k2)); + warehouseRetentionScanDTOList.forEach(rs->{ + if (Func.isNotEmpty(retentionPackageMap.get(rs.getOrderPackageId()))){ + //查看是否是零担,如果是零担需要查看是否发生数量修改 + WarehouseRetentionScanEntity warehouseRetentionScanEntity = retentionPackageMap.get(rs.getOrderPackageId()); + if (retentionPackageMap.get(rs.getOrderPackageId()).getConditions()==3){ + //零担查看是否发生数据修改 + if (warehouseRetentionScanEntity.getRetentionQuantity() != rs.getRetentionQuantity() && rs.getRetentionQuantity()>0){ + warehouseRetentionScanEntity.setRetentionQuantity(rs.getRetentionQuantity()); + warehouseRetentionScanService.updateById(warehouseRetentionScanEntity); + } + } + }else { + //在原列表中查询不到,这里视为新增滞留包件 + rs.setRetentionScanTime(new Date()); + rs.setRetentionScanUserId(user.getUserId()); + rs.setRetentionScanUsername(user.getUserName()); +// rs.setRetentionQuantity(r.getRetentionQuantity()); +// retentionTotal.getAndAdd(r.getRetentionQuantity()); + rs.setDeliveryId(warehouseRetentionScanDTOS.getDeliveryId()); + rs.setRefId(retentionRecordEntity.getId()); + warehouseRetentionScanService.save(Func.copy(rs,WarehouseRetentionScanEntity.class)); + } + }); + } + //统计该滞留任务的包件数量 + int retentionTotal = warehouseRetentionScanService.list(Wrappers.query().lambda() + .eq(WarehouseRetentionScanEntity::getDeliveryId, warehouseRetentionScanDTOS.getDeliveryId()) + .eq(WarehouseRetentionScanEntity::getRefId, warehouseRetentionScanDTOS.getId())).stream().mapToInt(WarehouseRetentionScanEntity::getRetentionQuantity).sum(); + retentionRecordEntity.setRetentionQuantity(retentionTotal); + this.updateById(retentionRecordEntity); + return Resp.scanSuccess("操作成功","操作成功"); + } + } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java index 6c65546f8..c4c6443df 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.logpm.basicdata.entity.BasicdataClientEntity; import com.logpm.basicdata.entity.BasicdataStoreBusinessEntity; import com.logpm.basicdata.entity.BasicdataWarehouseEntity; @@ -39,7 +40,6 @@ import org.springblade.common.constant.DictBizConstant; import org.springblade.common.constant.TenantNum; import org.springblade.common.constant.order.*; import org.springblade.common.exception.CustomerException; -import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.support.Condition; import org.springblade.core.tool.constant.BladeConstant; @@ -682,4 +682,14 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl pageList(WarehouseWaybillDTO waybillDTO) { + IPage page = new Page<>(); + page.setCurrent(waybillDTO.getPageNum()); + page.setSize(waybillDTO.getPageSize()); + + IPage pageList = baseMapper.pageList(page,waybillDTO); + return pageList; + } }