From 4d2a9c93e8846da9d1cab66ef80a076bf3326bde Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Wed, 18 Oct 2023 22:13:59 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=90=8C=E6=AD=A5=E8=AE=A2=E5=8D=95=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=97=B6=E5=88=A4=E6=96=AD=E6=98=AF=E5=9C=A8=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=E4=BA=8E=E7=9B=98=E7=82=B9=E4=BB=BB=E5=8A=A1=E4=B8=AD?= =?UTF-8?q?=202.=E5=90=8C=E6=AD=A5=E5=8C=85=E6=9D=A1=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=97=B6=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6=E5=9C=A8=E7=9B=98?= =?UTF-8?q?=E7=82=B9=E4=BB=BB=E5=8A=A1=E4=B8=AD=203.=E8=A1=A5=E5=85=A8?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E8=AE=A2=E5=8D=95=E4=BF=A1=E6=81=AF=E7=9A=84?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/IDistributionParcelListClient.java | 3 + .../entity/InventoryDetailEntity.java | 57 ++++ .../feign/IInventoryDetailClient.java | 23 ++ .../logpm/oldproject/feign/IOrderClient.java | 6 + .../oldproject/feign/ITrayScanDesClient.java | 3 + .../patch/entity/OrderSyncRecordEntity.java | 1 + .../feign/IWarehouseTrayTypeClient.java | 3 + .../feign/IWarehouseWaybillClient.java | 2 +- .../feign/DistributionParcelListClient.java | 6 + .../feign/InventoryDetailClient.java | 25 ++ .../logpm/oldproject/feign/OrderClient.java | 10 + .../oldproject/feign/TrayScanDesClient.java | 5 + .../mapper/InventoryDetailMapper.java | 14 + .../mapper/InventoryDetailMapper.xml | 23 ++ .../logpm/oldproject/mapper/OrderMapper.java | 4 + .../logpm/oldproject/mapper/OrderMapper.xml | 49 ++++ .../oldproject/mapper/TrayScanDesMapper.java | 4 + .../oldproject/mapper/TrayScanDesMapper.xml | 16 ++ .../service/IInventoryDetailService.java | 11 + .../oldproject/service/IOrderService.java | 4 + .../service/ITrayScanDesService.java | 2 + .../impl/InventoryDetailServiceImpl.java | 24 ++ .../service/impl/OrderServiceImpl.java | 10 + .../service/impl/TrayScanDesServiceImpl.java | 5 + .../jobhandle/SyncOrderInfoToPlatform.java | 101 +++++++ .../patch/service/ISyncOrderInfoService.java | 2 + .../impl/SyncOrderInfoServiceImpl.java | 246 ++++++++++++------ .../feign/WarehouseTrayTypeClient.java | 26 ++ .../feign/WarehouseWaybillClient.java | 3 +- .../service/IWarehouseTrayTypeService.java | 1 + .../impl/WarehouseTrayTypeServiceImpl.java | 111 ++++++++ 31 files changed, 713 insertions(+), 87 deletions(-) create mode 100644 blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/entity/InventoryDetailEntity.java create mode 100644 blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IInventoryDetailClient.java create mode 100644 blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/InventoryDetailClient.java create mode 100644 blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/InventoryDetailMapper.java create mode 100644 blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/InventoryDetailMapper.xml create mode 100644 blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IInventoryDetailService.java create mode 100644 blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/InventoryDetailServiceImpl.java diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java index 433eedf55..41ecdc17f 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java @@ -96,4 +96,7 @@ public interface IDistributionParcelListClient { */ @GetMapping(API_PREFIX+"/getParcelListByStockArticleId") List getParcelListByStockArticleId(@RequestParam Long id); + + @PostMapping(API_PREFIX+"/addReturnId") + Long addReturnId(@RequestBody DistributionParcelListEntity entity); } diff --git a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/entity/InventoryDetailEntity.java b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/entity/InventoryDetailEntity.java new file mode 100644 index 000000000..bd48602c7 --- /dev/null +++ b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/entity/InventoryDetailEntity.java @@ -0,0 +1,57 @@ +package com.logpm.oldproject.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; + +@Data +@TableName("ht_inventory_detail") +@ApiModel(value = "InventoryDetail对象", description = "盘点任务明细") +public class InventoryDetailEntity { + + @TableId( + value = "id", + type = IdType.AUTO + ) + private Integer id; + + @JsonProperty("unitNo") + private String unitNo; + + @JsonProperty("orderSelfNum") + private String orderSelfNum; + + private Integer abnormalStatus; + + private Integer locationId; + + private Integer inventoryId; + + private Integer administratorsId; + + private Integer status; + + private String firstName; + + private String secondName; + + private String thirdName; + + private String productname; + + private Integer systemExists; + + private Integer trayId; + + private Date createTime; + + private Date updateTime; + + private Integer deleteTime; + +} diff --git a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IInventoryDetailClient.java b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IInventoryDetailClient.java new file mode 100644 index 000000000..d1449bd42 --- /dev/null +++ b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IInventoryDetailClient.java @@ -0,0 +1,23 @@ +package com.logpm.oldproject.feign; + +import com.logpm.oldproject.entity.InventoryDetailEntity; +import org.springblade.common.constant.ModuleNameConstant; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + +@FeignClient( + value = ModuleNameConstant.APPLICATION_OLDPROJECT_NAME +) +public interface IInventoryDetailClient { + + String API_PREFIX = "/inventoryDetail/client"; + + @GetMapping(API_PREFIX + "/findOrderIsExist") + InventoryDetailEntity findOrderIsExist(@RequestParam String orderCode); + + @GetMapping(API_PREFIX + "/findUnitNoIsExist") + InventoryDetailEntity findUnitNoIsExist(@RequestParam String unitNo); + +// @GetMapping(API_PREFIX + "/getEntityByOrderCode") +// OrderCountEntity getEntityByOrderCode(@RequestParam String orderCode, @RequestParam Integer oldWarehouseId); +} diff --git a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IOrderClient.java b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IOrderClient.java index ba37db4fc..b06092719 100644 --- a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IOrderClient.java +++ b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IOrderClient.java @@ -51,4 +51,10 @@ public interface IOrderClient { @GetMapping(API_PREFIX + "/getGoodsTypeByOrderCode") Integer getGoodsTypeByOrderCode(@RequestParam String orderCode,@RequestParam Integer oldWarehouseId); + + @GetMapping(API_PREFIX + "/getTotalCountByZero") + Integer getTotalCountByZero(@RequestParam String param, @RequestParam Integer oldWarehouseId); + + @GetMapping(API_PREFIX + "/findOrderCodeListByZero") + List findOrderCodeListByZero(@RequestParam String param, @RequestParam Integer oldWarehouseId, @RequestParam Integer pageNum, @RequestParam Integer pageSize); } diff --git a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/ITrayScanDesClient.java b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/ITrayScanDesClient.java index 9418e32e4..c31fe7a8f 100644 --- a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/ITrayScanDesClient.java +++ b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/ITrayScanDesClient.java @@ -18,6 +18,9 @@ public interface ITrayScanDesClient { @GetMapping(API_PREFIX + "/findListByOrderCodeAndWarehouseId") List findListByOrderCodeAndWarehouseId(@RequestParam String orderCode, @RequestParam Integer oldWarehouseId); + @GetMapping(API_PREFIX + "/findZeroListByOrderCodeAndWarehouseId") + List findZeroListByOrderCodeAndWarehouseId(@RequestParam String orderCode, @RequestParam Integer oldWarehouseId); + // @GetMapping(API_PREFIX + "/getEntityByOrderCode") // OrderCountEntity getEntityByOrderCode(@RequestParam String orderCode, @RequestParam Integer oldWarehouseId); } diff --git a/blade-service-api/logpm-patch-api/src/main/java/com/logpm/patch/entity/OrderSyncRecordEntity.java b/blade-service-api/logpm-patch-api/src/main/java/com/logpm/patch/entity/OrderSyncRecordEntity.java index 20d632945..ae11fd2cc 100644 --- a/blade-service-api/logpm-patch-api/src/main/java/com/logpm/patch/entity/OrderSyncRecordEntity.java +++ b/blade-service-api/logpm-patch-api/src/main/java/com/logpm/patch/entity/OrderSyncRecordEntity.java @@ -16,5 +16,6 @@ public class OrderSyncRecordEntity extends BaseEntity { private Integer currentPage; private Integer finishNum; private Integer syncStatus; + private Integer type; } diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTrayTypeClient.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTrayTypeClient.java index 9a9269b81..9a4cfe977 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTrayTypeClient.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTrayTypeClient.java @@ -53,4 +53,7 @@ public interface IWarehouseTrayTypeClient { @PostMapping(API_PREFIX+"/orderScanOrderPackageCode") boolean orderScanOrderPackageCode(@RequestBody Map map); + + @PostMapping(API_PREFIX+"/enterZeroOrderByTrayCode") + boolean enterZeroOrderByTrayCode(@RequestBody Map map); } 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 6e9a80269..b44e5efc7 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 @@ -56,7 +56,7 @@ public interface IWarehouseWaybillClient { WarehouseWaybillEntity findByWaybillId(@RequestParam("waybillId") Long waybillId); @PostMapping(API_PREFIX + "/addEnntity") - void addEnntity(@RequestBody WarehouseWaybillEntity warehouseWaybill); + Long addEnntity(@RequestBody WarehouseWaybillEntity warehouseWaybill); @PostMapping(API_PREFIX + "/updateEntity") void updateEntity(@RequestBody WarehouseWaybillEntity warehouseWaybill); 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 819c2f75e..24c629db7 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 @@ -157,4 +157,10 @@ public class DistributionParcelListClient implements IDistributionParcelListClie return distributionParcelListService.getParcelListByStockArticleId(id); } + + @Override + public Long addReturnId(DistributionParcelListEntity entity) { + distributionParcelListService.save(entity); + return entity.getId(); + } } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/InventoryDetailClient.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/InventoryDetailClient.java new file mode 100644 index 000000000..1133c49d1 --- /dev/null +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/InventoryDetailClient.java @@ -0,0 +1,25 @@ +package com.logpm.oldproject.feign; + +import com.logpm.oldproject.entity.InventoryDetailEntity; +import com.logpm.oldproject.service.IInventoryDetailService; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.RestController; +import springfox.documentation.annotations.ApiIgnore; + +@ApiIgnore() +@RestController +@AllArgsConstructor +public class InventoryDetailClient implements IInventoryDetailClient{ + + private final IInventoryDetailService inventoryDetailService; + + @Override + public InventoryDetailEntity findOrderIsExist(String orderCode) { + return inventoryDetailService.findOrderIsExist(orderCode); + } + + @Override + public InventoryDetailEntity findUnitNoIsExist(String unitNo) { + return inventoryDetailService.findUnitNoIsExist(unitNo); + } +} diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/OrderClient.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/OrderClient.java index 1615b40e1..758289585 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/OrderClient.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/OrderClient.java @@ -61,4 +61,14 @@ public class OrderClient implements IOrderClient { public Integer getGoodsTypeByOrderCode(String orderCode,Integer oldWarehouseId) { return orderService.getGoodsTypeByOrderCode(orderCode,oldWarehouseId); } + + @Override + public Integer getTotalCountByZero(String param, Integer oldWarehouseId) { + return orderService.getTotalCountByZero(param,oldWarehouseId); + } + + @Override + public List findOrderCodeListByZero(String param, Integer oldWarehouseId, Integer pageNum, Integer pageSize) { + return orderService.findOrderCodeListByZero(param,oldWarehouseId,pageNum,pageSize); + } } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/TrayScanDesClient.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/TrayScanDesClient.java index fb2562931..46b4e6d74 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/TrayScanDesClient.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/TrayScanDesClient.java @@ -19,4 +19,9 @@ public class TrayScanDesClient implements ITrayScanDesClient { public List findListByOrderCodeAndWarehouseId(String orderCode, Integer oldWarehouseId) { return trayScanDesService.findListByOrderCodeAndWarehouseId(orderCode,oldWarehouseId); } + + @Override + public List findZeroListByOrderCodeAndWarehouseId(String orderCode, Integer oldWarehouseId) { + return trayScanDesService.findZeroListByOrderCodeAndWarehouseId(orderCode, oldWarehouseId); + } } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/InventoryDetailMapper.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/InventoryDetailMapper.java new file mode 100644 index 000000000..fe079c59d --- /dev/null +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/InventoryDetailMapper.java @@ -0,0 +1,14 @@ +package com.logpm.oldproject.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.logpm.oldproject.entity.InventoryDetailEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface InventoryDetailMapper extends BaseMapper { + InventoryDetailEntity findOrderIsExist(@Param("orderCode") String orderCode); + + InventoryDetailEntity findUnitNoIsExist(@Param("unitNo") String unitNo); + +} diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/InventoryDetailMapper.xml b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/InventoryDetailMapper.xml new file mode 100644 index 000000000..0732a7d47 --- /dev/null +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/InventoryDetailMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/OrderMapper.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/OrderMapper.java index 8bc30fc75..a05b60d0f 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/OrderMapper.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/OrderMapper.java @@ -35,4 +35,8 @@ public interface OrderMapper extends BaseMapper { List findOrderCodeListByPage(@Param("param") String param, @Param("oldWarehouseId") Integer oldWarehouseId, @Param("pageNum") Integer pageNum, @Param("pageSize") Integer pageSize); Integer getGoodsTypeByOrderCode(@Param("orderCode") String orderCode,@Param("oldWarehouseId") Integer oldWarehouseId); + + Integer getTotalCountByZero(@Param("param") String param, @Param("oldWarehouseId") Integer oldWarehouseId); + + List findOrderCodeListByZero(@Param("param") String param, @Param("oldWarehouseId") Integer oldWarehouseId, @Param("pageNum") Integer pageNum, @Param("pageSize") Integer pageSize); } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/OrderMapper.xml b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/OrderMapper.xml index 686031f64..814a09968 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/OrderMapper.xml +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/OrderMapper.xml @@ -15,6 +15,7 @@ AND `i`.`status` <> 11 AND `i`.`delete_time` = '0' AND ( ( `i`.`in_num` + `i`.`delives_num` ) > 0 ) + AND `i`.`goods_type` = '1' AND `i`.warehouse_id = #{oldWarehouseId} AND `i`.`orderSelfNum` = #{param} @@ -36,6 +37,7 @@ AND `i`.`status` <> 11 AND `i`.`delete_time` = '0' AND ( ( `i`.`in_num` + `i`.`delives_num` ) > 0 ) + AND `i`.`goods_type` = '1' AND `i`.warehouse_id = #{oldWarehouseId} AND `i`.`orderSelfNum` = #{param} @@ -57,4 +59,51 @@ AND `i`.`orderSelfNum` = #{orderCode} + + + + diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/TrayScanDesMapper.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/TrayScanDesMapper.java index ba9ee56cb..c04e81458 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/TrayScanDesMapper.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/TrayScanDesMapper.java @@ -3,7 +3,11 @@ package com.logpm.oldproject.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.logpm.oldproject.entity.TrayScanDesEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; @Mapper public interface TrayScanDesMapper extends BaseMapper { + List findZeroListByOrderCodeAndWarehouseId(@Param("orderCode") String orderCode, @Param("oldWarehouseId") Integer oldWarehouseId); } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/TrayScanDesMapper.xml b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/TrayScanDesMapper.xml index c11a9dd79..8ebd0f3c2 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/TrayScanDesMapper.xml +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/TrayScanDesMapper.xml @@ -2,6 +2,22 @@ + diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IInventoryDetailService.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IInventoryDetailService.java new file mode 100644 index 000000000..c1f283851 --- /dev/null +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IInventoryDetailService.java @@ -0,0 +1,11 @@ +package com.logpm.oldproject.service; + +import com.logpm.oldproject.entity.InventoryDetailEntity; + +public interface IInventoryDetailService { + + + InventoryDetailEntity findOrderIsExist(String orderCode); + + InventoryDetailEntity findUnitNoIsExist(String unitNo); +} diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IOrderService.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IOrderService.java index 3ac747e29..069b45a41 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IOrderService.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IOrderService.java @@ -15,4 +15,8 @@ public interface IOrderService { List findOrderCodeListByPage(String param, Integer oldWarehouseId, Integer pageNum, Integer pageSize); Integer getGoodsTypeByOrderCode(String orderCode,Integer oldWarehouseId); + + Integer getTotalCountByZero(String param, Integer oldWarehouseId); + + List findOrderCodeListByZero(String param, Integer oldWarehouseId, Integer pageNum, Integer pageSize); } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/ITrayScanDesService.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/ITrayScanDesService.java index 5d87e30bf..02b0bb586 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/ITrayScanDesService.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/ITrayScanDesService.java @@ -6,4 +6,6 @@ import java.util.List; public interface ITrayScanDesService { List findListByOrderCodeAndWarehouseId(String orderCode, Integer oldWarehouseId); + + List findZeroListByOrderCodeAndWarehouseId(String orderCode, Integer oldWarehouseId); } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/InventoryDetailServiceImpl.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/InventoryDetailServiceImpl.java new file mode 100644 index 000000000..f99700acc --- /dev/null +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/InventoryDetailServiceImpl.java @@ -0,0 +1,24 @@ +package com.logpm.oldproject.service.impl; + +import com.logpm.oldproject.entity.InventoryDetailEntity; +import com.logpm.oldproject.mapper.InventoryDetailMapper; +import com.logpm.oldproject.service.IInventoryDetailService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +@Service +@AllArgsConstructor +public class InventoryDetailServiceImpl implements IInventoryDetailService { + + private final InventoryDetailMapper inventoryDetailMapper; + + @Override + public InventoryDetailEntity findOrderIsExist(String orderCode) { + return inventoryDetailMapper.findOrderIsExist(orderCode); + } + + @Override + public InventoryDetailEntity findUnitNoIsExist(String unitNo) { + return inventoryDetailMapper.findUnitNoIsExist(unitNo); + } +} diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/OrderServiceImpl.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/OrderServiceImpl.java index 3015565cb..53ecbe30d 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/OrderServiceImpl.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/OrderServiceImpl.java @@ -48,4 +48,14 @@ public class OrderServiceImpl implements IOrderService { public Integer getGoodsTypeByOrderCode(String orderCode,Integer oldWarehouseId) { return orderMapper.getGoodsTypeByOrderCode(orderCode,oldWarehouseId); } + + @Override + public Integer getTotalCountByZero(String param, Integer oldWarehouseId) { + return orderMapper.getTotalCountByZero(param,oldWarehouseId); + } + + @Override + public List findOrderCodeListByZero(String param, Integer oldWarehouseId, Integer pageNum, Integer pageSize) { + return orderMapper.findOrderCodeListByZero(param,oldWarehouseId,pageNum*pageSize,pageSize); + } } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/TrayScanDesServiceImpl.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/TrayScanDesServiceImpl.java index d384794ed..f7b1d9dbe 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/TrayScanDesServiceImpl.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/TrayScanDesServiceImpl.java @@ -23,4 +23,9 @@ public class TrayScanDesServiceImpl implements ITrayScanDesService { .eq("orderSelfNum",orderCode); return trayScanDesMapper.selectList(queryWrapper); } + + @Override + public List findZeroListByOrderCodeAndWarehouseId(String orderCode, Integer oldWarehouseId) { + return trayScanDesMapper.findZeroListByOrderCodeAndWarehouseId(orderCode,oldWarehouseId); + } } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java index 1f7dc450e..2cc5b005f 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java @@ -62,6 +62,7 @@ public class SyncOrderInfoToPlatform { //查询该仓库是否有未完成的同步数据 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("old_warehouse_id",oldWarehouseId) + .eq("type",1) .ne("sync_status",2); OrderSyncRecordEntity one = orderSyncRecordService.getOne(queryWrapper); if(!Objects.isNull(one)){ @@ -71,6 +72,10 @@ public class SyncOrderInfoToPlatform { }else{ //查询本次同步一共多少的个订单 Integer totalNum = orderClient.getTotalCountBy(param,oldWarehouseId); + if(totalNum == 0){ + log.info("################syncZeroOrderInfo: 暂无需要执行的数据"); + return ReturnT.SUCCESS; + } log.info("##################syncOrderInfo: 一共需要同步{}条数据",totalNum); //计算出需要多少页 int i = totalNum % pageSize; @@ -85,6 +90,7 @@ public class SyncOrderInfoToPlatform { one.setOldWarehouseId(oldWarehouseId); one.setTotalNum(totalNum); one.setTotalPage(totalPage); + one.setType(1); one.setCurrentPage(0); one.setFinishNum(0); one.setSyncStatus(0); @@ -122,4 +128,99 @@ public class SyncOrderInfoToPlatform { } + + @XxlJob("syncZeroOrderInfo") + public ReturnT syncZeroOrderInfo(String param) { + + //查询需要同步的仓库 + List warehouseMappingDataEntityList = warehouseMappingDataService.getWarehouseMapping(); + if(warehouseMappingDataEntityList.isEmpty()){ + log.warn("###############syncZeroOrderInfo: 当前没有配置需要同步的仓库信息"); + return ReturnT.FAIL; + } + + Integer pageSize = 500;//处理的每页条数 + + for (WarehouseMappingDataEntity mappingDataEntity:warehouseMappingDataEntityList){ + Integer oldWarehouseId = mappingDataEntity.getOldWarehouseId();//老系统仓库id + Long newWarehouseId = mappingDataEntity.getNewWarehouseId();//新系统仓库id + + //查询新系统是否已有仓库信息 + BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseClient.getEntityWarehouseId(newWarehouseId); + if(Objects.isNull(basicdataWarehouseEntity)){ + log.warn("###############syncZeroOrderInfo: 新系统没有仓库信息"); + return ReturnT.FAIL; + } + + Integer totalPage = 0; + Integer currentPage = 0; + //查询该仓库是否有未完成的同步数据 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("old_warehouse_id",oldWarehouseId) + .eq("type",2) + .ne("sync_status",2); + OrderSyncRecordEntity one = orderSyncRecordService.getOne(queryWrapper); + if(!Objects.isNull(one)){ + //因为该仓库有未完成的同步,继续执行 + totalPage = one.getTotalPage(); + currentPage = one.getCurrentPage(); + }else{ + //查询本次同步一共多少的个订单 + Integer totalNum = orderClient.getTotalCountByZero(param,oldWarehouseId); + if(totalNum == 0){ + log.info("################syncZeroOrderInfo: 暂无需要执行的数据"); + return ReturnT.SUCCESS; + } + log.info("##################syncZeroOrderInfo: 一共需要同步{}条数据",totalNum); + //计算出需要多少页 + int i = totalNum % pageSize; + if(i == 0){ + totalPage = totalNum/pageSize; + }else{ + totalPage = totalNum/pageSize + 1; + } + currentPage = 0; + log.info("##################syncZeroOrderInfo: 一共需要同步{}页size为{}的数据",totalPage,pageSize); + one = new OrderSyncRecordEntity(); + one.setOldWarehouseId(oldWarehouseId); + one.setTotalNum(totalNum); + one.setTotalPage(totalPage); + one.setType(2); + one.setCurrentPage(0); + one.setFinishNum(0); + one.setSyncStatus(0); + orderSyncRecordService.save(one); + } + + + for (int j = currentPage; j < totalPage; j++) { + log.info("##################syncZeroOrderInfo: 当前同步的第{}页的数据",j+1); + try{ + List orderCodeList = orderClient.findOrderCodeListByZero(param,oldWarehouseId,j,pageSize); + + syncOrderInfoService.handleDataZero(orderCodeList,oldWarehouseId,newWarehouseId); + + log.info("################syncZeroOrderInfo: 同步成功{}个订单",orderCodeList.size()); + one.setCurrentPage(j+1); + one.setFinishNum(one.getFinishNum() + orderCodeList.size()); + if((j+1) == totalPage){ + one.setSyncStatus(2); + }else{ + one.setSyncStatus(1); + } + orderSyncRecordService.saveOrUpdate(one); + }catch (CustomerException e){ + log.error(e.message,e); + return ReturnT.FAIL; + }catch (Exception e){ + log.error("#############syncZeroOrderInfo: 同步数据失败",e); + return ReturnT.FAIL; + } + } + } + log.info("################syncZeroOrderInfo: 同步成功完成"); + return ReturnT.SUCCESS; + } + + } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/ISyncOrderInfoService.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/ISyncOrderInfoService.java index bc0f6f231..5197ed848 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/ISyncOrderInfoService.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/ISyncOrderInfoService.java @@ -4,4 +4,6 @@ import java.util.List; public interface ISyncOrderInfoService { void handleData(List orderCodeList,Integer oldWarehouseId,Long newWarehouseId); + + void handleDataZero(List orderCodeList, Integer oldWarehouseId, Long newWarehouseId); } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java index 33052b358..9e6e2715d 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java @@ -64,6 +64,7 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { private final ITrayScanDesClient trayScanDesClient; private final ITrayScanClient trayScanClient; private final IWarehouseTrayTypeClient warehouseTrayTypeClient; + private final IInventoryDetailClient inventoryDetailClient; @Transactional(rollbackFor = Exception.class) @Override @@ -76,83 +77,143 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { log.info("#############handleData: 订单orderCode={}已存在",orderCode); continue; } - //查询订单是零担还是订制品 - Integer goodsType = orderClient.getGoodsTypeByOrderCode(orderCode,oldWarehouseId); - if(1 == goodsType){ - //包件 + //查询订单是否在盘点任务中有被盘点到 + InventoryDetailEntity inventoryDetailEntity = inventoryDetailClient.findOrderIsExist(orderCode); + if(!Objects.isNull(inventoryDetailEntity)){ + //定单 saveOrderInfo(orderCode,oldWarehouseId,newWarehouseId); - }else if(2 == goodsType){ - //运单 - saveZeroOrderInfo(orderCode,oldWarehouseId,newWarehouseId); - }else{ - log.error("#############handleData: 未知的订单类型goodsType={} orderCode={} oldWarehouseId={}",goodsType,orderCode,oldWarehouseId); - throw new CustomerException(403,"未知的订单类型"); - } - - //存入打托信息 - saveTrayTypeInfo(orderCode,goodsType,oldWarehouseId,newWarehouseId); + //存入打托信息 + saveTrayTypeInfoPackage(orderCode,oldWarehouseId,newWarehouseId); + } } } - private void saveTrayTypeInfo(String orderCode, Integer goodsType,Integer oldWarehouseId,Long newWarehouseId) { - - //1.根绝goodsType判断是订制品订单还是零担订单 - if(1 == goodsType){ - //如果是订制品就先查询该订单有哪些包件打了托 - List list = trayScanDesClient.findListByOrderCodeAndWarehouseId(orderCode,oldWarehouseId); - for (TrayScanDesEntity trayScanDesEntity:list){ - Integer trayScanId = trayScanDesEntity.getTrayScanId(); - String unitNo = trayScanDesEntity.getUnitNo();//包条码 - //查询打托方式信息 - TrayScanEntity trayScanEntity = trayScanClient.getEntityByTrayScanId(trayScanId); - Integer type = trayScanEntity.getType(); - Integer trayId = trayScanEntity.getTrayId(); - String customerName = trayScanEntity.getCustomerName(); - String customerPhone = trayScanEntity.getCustomerPhone(); - - //方式:1=仓,2=商场,3=客户,4=其他,5=服务号,6=合同号 - //方式:60=仓,30=商场,50=客户,100=其他,10=服务号,20=合同号 - String newTrayType = "100"; - if(1==type){ - newTrayType = "60"; - }else if(2==type){ - newTrayType = "30"; - }else if(3==type){ - newTrayType = "50"; - }else if(4==type){ - newTrayType = "100"; - }else if(5==type){ - newTrayType = "10"; - }else if(6==type){ - newTrayType = "20"; - } + @Transactional(rollbackFor = Exception.class) + @Override + public void handleDataZero(List orderCodeList,Integer oldWarehouseId,Long newWarehouseId) { + log.info("#############handleData: 处理订单开始"); + for (String orderCode:orderCodeList){ + log.info("#############handleData: 当前处理orderCode={}的订单",orderCode); + DistributionStockArticleEntity stockArticleEntity = distributionStockArticleClient.findStockArticleByOrderCode(orderCode); + if(!Objects.isNull(stockArticleEntity)){ + log.info("#############handleData: 订单orderCode={}已存在",orderCode); + continue; + } +// //查询订单是零担还是订制品 +// Integer goodsType = orderClient.getGoodsTypeByOrderCode(orderCode,oldWarehouseId); +// if(1 == goodsType){ +// //包件 +// saveOrderInfo(orderCode,oldWarehouseId,newWarehouseId); +// }else if(2 == goodsType){ +// //运单 +// saveZeroOrderInfo(orderCode,oldWarehouseId,newWarehouseId); +// }else{ +// log.error("#############handleData: 未知的订单类型goodsType={} orderCode={} oldWarehouseId={}",goodsType,orderCode,oldWarehouseId); +// throw new CustomerException(403,"未知的订单类型"); +// } + + //运单 + saveZeroOrderInfo(orderCode,oldWarehouseId,newWarehouseId); - Map map = new HashMap<>(); - map.put("trayType",newTrayType); - map.put("trayCode","T"+trayId); - map.put("warehouseId",newWarehouseId); - map.put("orderPackageCode",unitNo); + //存入打托信息 + saveTrayTypeInfoZero(orderCode,oldWarehouseId,newWarehouseId); - //新系统保存打托方式 - boolean b = warehouseTrayTypeClient.orderScanOrderPackageCode(map); + } + } - if(!b){ - log.error("################saveTrayTypeInfo: 包件打托失败 unitNo={} trayCode={}",unitNo,"T"+trayId); - throw new CustomerException(403,"包件打托失败"); - } + private void saveTrayTypeInfoPackage(String orderCode,Integer oldWarehouseId,Long newWarehouseId) { + + //如果是订制品就先查询该订单有哪些包件打了托 + List list = trayScanDesClient.findListByOrderCodeAndWarehouseId(orderCode,oldWarehouseId); + for (TrayScanDesEntity trayScanDesEntity:list){ + Integer trayScanId = trayScanDesEntity.getTrayScanId(); + String unitNo = trayScanDesEntity.getUnitNo();//包条码 + //查询打托方式信息 + TrayScanEntity trayScanEntity = trayScanClient.getEntityByTrayScanId(trayScanId); + Integer type = trayScanEntity.getType(); + Integer trayId = trayScanEntity.getTrayId(); + String customerName = trayScanEntity.getCustomerName(); + String customerPhone = trayScanEntity.getCustomerPhone(); + + //方式:1=仓,2=商场,3=客户,4=其他,5=服务号,6=合同号 + //方式:60=仓,30=商场,50=客户,100=其他,10=服务号,20=合同号 + String newTrayType = "100"; + if(1==type){ + newTrayType = "60"; + }else if(2==type){ + newTrayType = "30"; + }else if(3==type){ + newTrayType = "50"; + }else if(4==type){ + newTrayType = "100"; + }else if(5==type){ + newTrayType = "10"; + }else if(6==type){ + newTrayType = "20"; } + Map map = new HashMap<>(); + map.put("trayType",newTrayType); + map.put("trayCode","T"+trayId); + map.put("warehouseId",newWarehouseId); + map.put("orderPackageCode",unitNo); - }else if(2 == goodsType){ + //新系统保存打托方式 + boolean b = warehouseTrayTypeClient.orderScanOrderPackageCode(map); + if(!b){ + log.error("################saveTrayTypeInfo: 包件打托失败 unitNo={} trayCode={}",unitNo,"T"+trayId); + throw new CustomerException(403,"包件打托失败"); + } } + } + private void saveTrayTypeInfoZero(String orderCode,Integer oldWarehouseId,Long newWarehouseId) { + + //如果是订制品就先查询该订单有哪些包件打了托 + List list = trayScanDesClient.findZeroListByOrderCodeAndWarehouseId(orderCode,oldWarehouseId); + for (TrayScanDesEntity trayScanDesEntity:list){ + Integer trayScanId = trayScanDesEntity.getTrayScanId(); + Integer trayId = trayScanDesEntity.getTrayId(); + Integer num = trayScanDesEntity.getNum(); + + + //方式:1=仓,2=商场,3=客户,4=其他,5=服务号,6=合同号 + //方式:60=仓,30=商场,50=客户,100=其他,10=服务号,20=合同号 + String newTrayType = "100"; +// if(1==type){ +// newTrayType = "60"; +// }else if(2==type){ +// newTrayType = "30"; +// }else if(3==type){ +// newTrayType = "50"; +// }else if(4==type){ +// newTrayType = "100"; +// }else if(5==type){ +// newTrayType = "10"; +// }else if(6==type){ +// newTrayType = "20"; +// } + Map map = new HashMap<>(); + map.put("trayType",newTrayType); + map.put("trayCode","T"+trayId); + map.put("warehouseId",newWarehouseId); + map.put("orderCode",orderCode); + map.put("num",num); + //新系统保存打托方式 + boolean b = warehouseTrayTypeClient.enterZeroOrderByTrayCode(map); + if(!b){ + log.error("################saveTrayTypeInfo: 零担打托失败 orderCode={} trayCode={} num={}",orderCode,"T"+trayId,num); + throw new CustomerException(403,"零担打托失败"); + } + } } + private void saveZeroOrderInfo(String orderCode, Integer oldWarehouseId, Long newWarehouseId) { OrderCountEntity orderCountEntity = orderCountClient.getEntityByOrderCode(orderCode,oldWarehouseId); @@ -184,25 +245,6 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { // } warehouseWaybill = saveWayBillData(wayBillEntity, inNum); // waybillId = warehouseWaybill.getId(); - - //新增的时候存入所有的订单详情 - List des = waybillDesClient.getDesList(waybillNo); - List ls = new ArrayList<>(); - - for (WaybillDesEntity waybillDesEntity : des) { - WarehouseWayBillDetail warehouseWayBillDetail = new WarehouseWayBillDetail(); - warehouseWayBillDetail.setWaybillId(warehouseWaybill.getId()); - warehouseWayBillDetail.setWaybillNo(waybillNo); - warehouseWayBillDetail.setProductName(waybillDesEntity.getName()); - warehouseWayBillDetail.setNum(waybillDesEntity.getNum()); - warehouseWayBillDetail.setStatus(1); - warehouseWayBillDetail.setIsDeleted(0); - warehouseWayBillDetail.setCreateTime(date); - warehouseWayBillDetail.setUpdateTime(date); - ls.add(warehouseWayBillDetail); - } - - warehouseWaybillDetailClient.addList(ls); //createStockArticle(warehouseWaybill); } @@ -243,6 +285,9 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { distributionStockArticleEntity.setWarehouseEntryTime(date); distributionStockArticleEntity.setTotalNumber(totalCount); distributionStockArticleEntity.setHandQuantity(stockCount); + distributionStockArticleEntity.setDealerName(consignee); + distributionStockArticleEntity.setDealerCode(clientEntity.getClientCode()); + //零担订单默认齐套 distributionStockArticleEntity.setCompleteSet(1); @@ -319,6 +364,8 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { entity.setCreateDept(distributionStockArticleEntity.getCreateDept()); entity.setWarehouseId(distributionStockArticleEntity.getWarehouseId()); entity.setWarehouse(distributionStockArticleEntity.getWarehouse()); + entity.setDealerName(distributionStockArticleEntity.getDealerName()); + entity.setDealerCode(distributionStockArticleEntity.getDealerCode()); entity.setQuantity(warehouseWayBillDetail.getNum()); entity.setConditions(1); entity.setStockArticleId(id); @@ -335,14 +382,14 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { entity.setSendWarehouseName(warehouseWaybill.getDepartureWarehouseName()); entity.setAcceptWarehouseId(warehouseWaybill.getDestinationWarehouseId()); entity.setAcceptWarehouseName(warehouseWaybill.getDestinationWarehouseName()); + Long packageId = distributionParcelListClient.addReturnId(entity); + entity.setId(packageId); ls.add(entity); - - } - boolean b = distributionParcelListClient.addBatch(ls); - if (!b) { - log.warn("#################createStockArticle: 保存包件信息失败 orderSelfNum={}", waybillNo); - throw new CustomerException(405, "保存包件信息失败"); } +// if (!b) { +// log.warn("#################createStockArticle: 保存包件信息失败 orderSelfNum={}", waybillNo); +// throw new CustomerException(405, "保存包件信息失败"); +// } List parcelNumberList = new ArrayList<>(); for (DistributionParcelListEntity entity:ls){ @@ -467,7 +514,29 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { Date date = new Date(); warehouseWaybill.setCreateTime(date); warehouseWaybill.setUpdateTime(date); - warehouseWaybillClient.addEnntity(warehouseWaybill); + Long waybillId = warehouseWaybillClient.addEnntity(warehouseWaybill); + + warehouseWaybill.setId(waybillId); + //新增的时候存入所有的订单详情 + List des = waybillDesClient.getDesList(wayBillEntity.getWaybillNo()); + List ls = new ArrayList<>(); + + for (WaybillDesEntity waybillDesEntity : des) { + WarehouseWayBillDetail warehouseWayBillDetail = new WarehouseWayBillDetail(); + warehouseWayBillDetail.setWaybillId(waybillId); + warehouseWayBillDetail.setWaybillNo(wayBillEntity.getWaybillNo()); + warehouseWayBillDetail.setProductName(waybillDesEntity.getName()); + warehouseWayBillDetail.setNum(waybillDesEntity.getNum()); + warehouseWayBillDetail.setStatus(1); + warehouseWayBillDetail.setIsDeleted(0); + warehouseWayBillDetail.setCreateTime(date); + warehouseWayBillDetail.setUpdateTime(date); + ls.add(warehouseWayBillDetail); + } + + warehouseWaybillDetailClient.addList(ls); + + return warehouseWaybill; } @@ -518,7 +587,8 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { - distributionStockArticleEntity.setWarehouseEntryTime(date); + distributionStockArticleEntity.setWarehouseEntryTime(orderCountEntity.getCreateTime()); + distributionStockArticleEntity.setWarehouseEntryTimeEnd(orderCountEntity.getLatestInTime()); distributionStockArticleEntity.setTotalNumber(total); distributionStockArticleEntity.setHandQuantity(orderCountEntity.getInNum()); distributionStockArticleEntity.setTenantId(TenantNum.HUITONGCODE);// 对应租户ID @@ -684,6 +754,12 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { List orderDetailList = orderDetailClient.findByOrderCode(orderCode,oldWarehouseId); for (OrderDetailEntity orderDetailEntity:orderDetailList){ String unitNo = orderDetailEntity.getUnitNo(); + InventoryDetailEntity inventoryDetailEntity = inventoryDetailClient.findUnitNoIsExist(unitNo); + if(Objects.isNull(inventoryDetailEntity)){ + log.info("###########saveOrderPackage: 包条不在盘点任务中存在,不同步 unitNo={}",unitNo); + continue; + } + Integer status = orderDetailEntity.getStatus(); Integer carsType = orderDetailEntity.getCarsType(); Integer signState = orderDetailEntity.getSignState(); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTrayTypeClient.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTrayTypeClient.java index 4e8715519..23fe5a54f 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTrayTypeClient.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTrayTypeClient.java @@ -1,5 +1,6 @@ package com.logpm.warehouse.feign; +import com.logpm.warehouse.dto.ZeroOrderVO; import com.logpm.warehouse.service.IWarehouseTrayTypeService; import com.logpm.warehouse.vo.TrayTypeDataVO; import lombok.AllArgsConstructor; @@ -7,6 +8,8 @@ import org.springblade.core.tool.api.R; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; +import java.util.ArrayList; +import java.util.List; import java.util.Map; @ApiIgnore() @@ -44,4 +47,27 @@ public class WarehouseTrayTypeClient implements IWarehouseTrayTypeClient { } } + @Override + public boolean enterZeroOrderByTrayCode(Map map) { + String trayType = (String) map.get("trayType"); + String trayCode = (String) map.get("trayCode"); + Long warehouseId = (Long) map.get("warehouseId"); + String orderCode = (String) map.get("orderCode"); + Integer num = (Integer) map.get("num"); + + List ls = new ArrayList<>(); + ZeroOrderVO zeroOrderVO = new ZeroOrderVO(); + zeroOrderVO.setOrderCode(orderCode); + zeroOrderVO.setNum(num); + ls.add(zeroOrderVO); + + R r = warehouseTrayTypeService.enterZeroOrderByTrayCodeSync(trayType,trayCode,ls,warehouseId); + + if(r.getCode() == 200){ + return true; + }else{ + return false; + } + } + } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseWaybillClient.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseWaybillClient.java index bac77997d..8d5de5626 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseWaybillClient.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseWaybillClient.java @@ -44,8 +44,9 @@ public class WarehouseWaybillClient implements IWarehouseWaybillClient { @Override @PostMapping(API_PREFIX + "/addEnntity") - public void addEnntity(WarehouseWaybillEntity warehouseWaybill) { + public Long addEnntity(WarehouseWaybillEntity warehouseWaybill) { warehouseWaybillService.save(warehouseWaybill); + return warehouseWaybill.getId(); } @Override diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java index de90fcae2..03a74f126 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java @@ -30,6 +30,7 @@ public interface IWarehouseTrayTypeService extends BaseService getZeroOrderByWaybillCode(String waybillCode,Long warehouseId); R enterZeroOrderByTrayCode(String trayType ,String trayCode, List zeroList,Long warehouseId); + R enterZeroOrderByTrayCodeSync(String trayType ,String trayCode, List zeroList,Long warehouseId); R deleteZeroOrderByTrayCode(String orderCode, String trayCode,Long warehouseId); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java index be5aff1ef..37aae20c6 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java @@ -983,6 +983,117 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl zeroList,Long warehouseId) { + if(Objects.isNull(zeroList)){ + log.warn("##############enterZeroOrderByTrayCode: 数据为空 zeroList={}",zeroList); + return R.fail(403,"数据为空"); + } + if(zeroList.size() == 0){ + log.warn("##############enterZeroOrderByTrayCode: 数据为空 zeroList={}",zeroList); + return R.fail(403,"数据为空"); + } + + BasicdataTrayEntity trayEntity = basicdataTrayClient.getTrayByTrayCode(trayCode); + if(Objects.isNull(trayEntity)){ + log.warn("#########saveTrayTypeByZeroList: 未找到托盘信息 trayCode={}",trayCode); + throw new CustomerException(403,"未找到托盘信息"); + } + Long trayId = trayEntity.getId(); + //查询零担订单数据 + String ocode = zeroList.get(0).getOrderCode();//订单编码 + DistributionStockArticleEntity sae = distributionStockArticleClient.findZeroByOrderCodeAndWarehouseId(ocode,warehouseId); + if(Objects.isNull(sae)){ + log.warn("#########saveTrayTypeByZeroList: 未找到订单信息 orderCode={} warehouseId={}",ocode,warehouseId); + throw new CustomerException(403,"未找到订单信息"); + } + + //查询托盘信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("tray_code",trayCode) + .eq("is_deleted",0); + WarehouseTrayTypeEntity trayTypeEntity = baseMapper.selectOne(queryWrapper); + if(Objects.isNull(trayTypeEntity)){ + //如果为空则该托盘为空 + //第一次存入数据 + trayTypeEntity = saveTrayTypeByZeroList(trayType, trayCode, trayId,sae,warehouseId); + } + String tt = trayTypeEntity.getTrayType(); + Long filterId = trayTypeEntity.getFilterId(); + String filterValue = trayTypeEntity.getFilterValue(); + Long wid = trayTypeEntity.getWarehouseId(); + if(!wid.equals(warehouseId)){ + log.warn("##############enterZeroOrderByTrayCode: 托盘已在其他仓库打托 {}={}",wid,warehouseId); + return R.fail(403,"托盘已在其他仓库打托"); + } + + if(!tt.equals(trayType)){ + log.warn("##############enterZeroOrderByTrayCode: 打托方式不正确 {}={}",trayType,tt); + return R.fail(403,"打托方式不正确"); + } + + //判断串货 + boolean chuanFlag = false; + String msg = ""; + Integer allNum = 0; + for(ZeroOrderVO zeroOrderVO:zeroList){ + String orderCode = zeroOrderVO.getOrderCode();//订单自编码 + Long orderId = zeroOrderVO.getOrderId(); + Integer num = zeroOrderVO.getNum(); + if(num == 0 || Objects.isNull(num)){ + log.warn("#########enterZeroOrderByTrayCode: 请输入正确的数量 orderCode={} num={}",orderCode,num); + return R.fail(403,"请输入正确的数量"); + } + + DistributionStockArticleEntity stockArticleEntity = distributionStockArticleClient.findZeroByOrderCodeAndWarehouseId(orderCode,warehouseId); + if(Objects.isNull(stockArticleEntity)){ + log.warn("#########enterZeroOrderByTrayCode: 未找到订单信息 orderCode={} warehouseId={}",orderCode,warehouseId); + return R.fail(403,"未找到订单信息"); + } + boolean flag = false; + if("10".equals(tt)) {//运单号 + String waybillNumber = stockArticleEntity.getWaybillNumber(); + if (!filterValue.equals(waybillNumber)) { + flag = true; + chuanFlag = true; + msg = "运单号"; + } + }else if("20".equals(tt)){//订单自编码(零担) + if (!filterValue.equals(orderCode)) { + flag = true; + chuanFlag = true; + msg = "订单自编码(零担)"; + } + } + + //修改打托方式上的值 +// changeZeroTotalNumByTrayTypeId(stockArticleEntity, trayTypeEntity.getId(),num, 1);//addSub 1加 2减 + if(flag){ + //存入零担与托盘绑定关系表 + warehouseTrayGoodsService.saveEntityZero(stockArticleEntity, trayTypeEntity,num, "1","1", "分拣打托:人工分拣", "1"); + }else{ + //存入零担与托盘绑定关系表 + warehouseTrayGoodsService.saveEntityZero(stockArticleEntity, trayTypeEntity,num, "0","1", "分拣打托:人工分拣", "1"); + } + //更新打托方式上的值 + updateNumByTrayTypeId(trayTypeEntity); + allNum = allNum + num; + } +// if (chuanFlag){ +// log.warn("#########enterZeroOrderByTrayCode: 不属于同一个"+msg+" 串货 filterValue={} filterValue={}", filterValue, filterValue); +// return Resp.scanFail(2001, "不属于同一个"+msg, "串货"); +// }else{ +// return R.success("扫描成功"); +// } + + return R.success("打托成功"); + + } + + + @Override public R deleteZeroOrderByTrayCode(String orderCode, String trayCode,Long warehouseId) { log.info("#########deleteZeroOrderByTrayCode: 删除对应的零担订单 orderCode={} trayCode={}", orderCode, trayCode);