Browse Source

Merge branch 'refs/heads/dev' into chenglong

dist.1.3.0
chenlong 8 months ago
parent
commit
cf9246573b
  1. 2
      blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataVehicleEntity.java
  2. 18
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionSignforClient.java
  3. 2
      blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IOldSignPushClient.java
  4. 6
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataVehicleController.java
  5. 7
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.java
  6. 79
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.xml
  7. 7
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataVehicleService.java
  8. 5
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataVehicleServiceImpl.java
  9. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/api/DistributionSignforAppController.java
  10. 23
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionSignforClient.java
  11. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml
  12. 33
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.java
  13. 140
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml
  14. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml
  15. 4
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/ClerkCheckPushDataQueueHandler.java
  16. 12
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java
  17. 262
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java
  18. 324
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
  19. 9
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java
  20. 11
      blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/mq/NodeDataPushListener.java
  21. 15
      blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/FactoryXxlJob.java
  22. 11
      blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/SignPushClient.java
  23. 134
      blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/DistributionDatarepair.java
  24. 7
      blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.java
  25. 5
      blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.xml
  26. 3
      blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/AsyncServiceImpl.java
  27. 2
      blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportDeliverServiceImpl.java
  28. 13
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/ExecutorConfig.java
  29. 1
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java

2
blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataVehicleEntity.java

@ -251,7 +251,7 @@ public class BasicdataVehicleEntity extends TenantEntity {
* 车辆年审有效期
*/
@ApiModelProperty(value = "车辆年审有效期")
private Integer reviewValidity;
private String reviewValidity;
/**
* 车辆保险开始时间
*/

18
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionSignforClient.java

@ -24,6 +24,8 @@ import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.Map;
/**
* 签收管理 Feign接口类
*
@ -38,6 +40,7 @@ public interface IDistributionSignforClient {
String API_PREFIX = "signfor/client";
String TOP = API_PREFIX + "/top";
String CLERKCHECKPUSHDATA = API_PREFIX + "/clerkCheckPushData";
String CLERKINVENTORYCHECKDATA = API_PREFIX + "/clerkInventoryCheckPushData";
/**
* 获取签收管理列表
@ -52,7 +55,7 @@ public interface IDistributionSignforClient {
@GetMapping(TOP+"push0ldSystemSignInfo")
void push0ldSystemSignInfo(@RequestParam("current") Long signingId);
Map<String ,Object> push0ldSystemSignInfo(@RequestParam("current") Long signingId);
/**
@ -61,5 +64,16 @@ public interface IDistributionSignforClient {
* @return
*/
@GetMapping(CLERKCHECKPUSHDATA)
Boolean clerkCheckPushData(@RequestParam("id") Long id);
Map<String,Object> clerkCheckPushData(@RequestParam("id") Long id);
/**
* 推送老系统零担信息
* @param params
* @return
*/
@GetMapping(CLERKINVENTORYCHECKDATA)
Map<String, Object> clerkInventoryCheckPushData(@RequestParam("orderPackageCode")String orderPackageCode);
}

2
blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IOldSignPushClient.java

@ -20,7 +20,7 @@ public interface IOldSignPushClient {
String API_PREFIX = "/client";
@PostMapping(API_PREFIX + "/pushOldSystemSignInfo")
Boolean pushOldSystemSignInfo(@RequestBody SignPushDataDTO signPushDataDTO);
Map<String,Object> pushOldSystemSignInfo(@RequestBody SignPushDataDTO signPushDataDTO);

6
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataVehicleController.java

@ -83,8 +83,10 @@ public class BasicdataVehicleController extends BladeController {
@GetMapping("/detail")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "详情", notes = "传入basicdataVehicle")
public R<BasicdataVehicleVO> detail(BasicdataVehicleDTO basicdataVehicle) {
BasicdataVehicleEntity detail = basicdataVehicleService.getOne(Condition.getQueryWrapper(basicdataVehicle));
public R<BasicdataVehicleVO> detail(@Param("id") Long id) {
// BasicdataVehicleEntity detail = basicdataVehicleService.getOne(Condition.getQueryWrapper(basicdataVehicle));
BasicdataVehicleEntity detail = basicdataVehicleService.getVehicleDetail(id);
//查询历史照片
BasicdataVehicleVO basicdataVehicleVO = new BasicdataVehicleVO();
BeanUtils.copyProperties(detail,basicdataVehicleVO);

7
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.java

@ -62,4 +62,11 @@ public interface BasicdataVehicleMapper extends BaseMapper<BasicdataVehicleEntit
List<BasicdataVehicleVO> selectBasicdataDictionary(@Param("vehicleNub") String vehicleNub);
List<BasicdataVehicleEntity> findCarListByName(@Param("carNumber") String carNumber);
/**
* 查询车辆详情
* @param id
* @return
*/
BasicdataVehicleEntity getVehicleDetail(@Param("id")Long id);
}

79
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.xml

@ -252,6 +252,85 @@
and vehicle_nub like concat('%',#{carNumber},'%')
limit 10
</select>
<select id="getVehicleDetail" resultType="com.logpm.basicdata.entity.BasicdataVehicleEntity">
SELECT
lbv.id id,
lbv.tenant_id tenantId,
lbv.create_user createUser,
lbv.create_time createTime,
lbv.update_user updateUser,
lbv.update_time updateTime,
lbv.STATUS STATUS,
lbv.create_dept createDept,
lbv.vehicle_nub vehicleNub,
lbv.vehicle_source vehicleSource,
lbv.is_head isHead,
lbv.trailer_type trailerType,
lbv.vehicle_model vehicleModel,
lbv.car_type carType,
lbv.carrier_name carrierName,
lbv.vehicle_commander vehicleCommander,
lbv.vehicle_height vehicleHeight,
lbv.payment_method paymentMethod,
lbv.approved_volume approvedVolume,
lbv.license_plate_color licensePlateColor,
lbv.vehicle_color vehicleColor,
lbv.energy_type energyType,
lbv.license_plate_type licensePlateType,
lbv.notes notes,
lbv.vehicle_owner vehicleOwner,
lbv.vehicle_brand vehicleBrand,
lbv.vehicle_code vehicleCode,
lbv.engine_code engineCode,
lbv.vehicle_quality vehicleQuality,
lbv.curb_weight curbWeight,
lbv.load_mass loadMass,
lbv.outer_width outerWidth,
lbv.expiration_time expirationTime,
lbv.road_transport roadTransport,
lbv.business_license businessLicense,
lbv.vehicle_unit vehicleUnit,
lbv.vehicle_unit_phone vehicleUnitPhone,
lbv.vehicle_owner_phone vehicleOwnerPhone,
lbv.vehicle_owner_card vehicleOwnerCard,
lbv.driving_license_photo drivingLicensePhoto,
lbv.driving_license_photo_back drivingLicensePhotoBack,
lbv.license_photo licensePhoto,
lbv.vehicle_photo vehiclePhoto,
lbv.vehicle_rear_photo vehicleRearPhoto,
lbv.road_transport_photo roadTransportPhoto,
lbv.vehicle_people_photo vehiclePeoplePhoto,
lbv.insurance_card_photo insuranceCardPhoto,
lbv.carrier_id carrierId,
lbv.review_time reviewTime,
lbv.review_validity reviewValidity,
lbv.insurance_start_time insuranceStartTime,
lbv.insurance_end_time insuranceEndTime,
lbv.body_advertising bodyAdvertising,
lbv.advertisements_new_times advertisementsNewTimes,
lbv.vehicle_parking_company vehicleParkingCompany,
lbv.with_gps withGps,
lbv.gps_service_provider gpsServiceProvider,
lbv.gps_model gpsModel,
(
SELECT
group_concat( lbvp.photo_url )
FROM
logpm_basicdata_vehicle_photo lbvp
WHERE
lbvp.master_id = lbv.id
AND lbvp.create_time &lt;= DATE_SUB( CURDATE(), INTERVAL 1 YEAR )
ORDER BY
lbvp.create_time
LIMIT 3
) historicPhotos,
( SELECT GROUP_CONCAT( driver_id SEPARATOR ',' ) FROM logpm_basicdata_drivermiddle lbd WHERE lbd.brand_id = lbv.id AND lbd.is_deleted = 0 ) vehicleOwners
FROM
logpm_basicdata_vehicle lbv
WHERE
lbv.id = #{id}
AND is_deleted = 0
</select>
</mapper>

7
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataVehicleService.java

@ -92,4 +92,11 @@ public interface IBasicdataVehicleService extends BaseService<BasicdataVehicleEn
* @param data
*/
void importDriverArtery(List<BasicdataVehicleImportExcel> data);
/**
* 查询车辆详情
* @param id
* @return
*/
BasicdataVehicleEntity getVehicleDetail(Long id);
}

5
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataVehicleServiceImpl.java

@ -286,4 +286,9 @@ public class BasicdataVehicleServiceImpl extends BaseServiceImpl<BasicdataVehicl
}
@Override
public BasicdataVehicleEntity getVehicleDetail(Long id) {
return baseMapper.getVehicleDetail(id);
}
}

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/api/DistributionSignforAppController.java

@ -224,7 +224,7 @@ public class DistributionSignforAppController {
}
/**
* 司机签收管理 确认签收
* 上传签收图片
*/
@PostMapping("/signforack")
@ApiOperationSupport(order = 2)

23
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionSignforClient.java

@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.logpm.basicdata.feign.IBasicdataTripartiteWarehouseClient;
import com.logpm.distribution.entity.*;
import com.logpm.distribution.mapper.*;
import com.logpm.distribution.service.IDistributionLoadscaninvnService;
import com.logpm.distribution.service.IDistributionSignforService;
import com.logpm.distribution.service.IDistributionStockService;
import com.logpm.distribution.vo.DistributionSignPrintVO;
@ -34,6 +35,7 @@ import com.logpm.oldproject.feign.IWarehouseClient;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.RedisKeyConstant;
import org.springblade.common.constant.loading.LoadingStatusConstant;
import org.springblade.common.constant.stockup.StockAssignStatusConstant;
import org.springblade.core.mp.support.BladePage;
import org.springblade.core.mp.support.Condition;
@ -51,6 +53,7 @@ import springfox.documentation.annotations.ApiIgnore;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@ -72,6 +75,7 @@ public class DistributionSignforClient implements IDistributionSignforClient {
private final DistributionSignforMapper distributionSignforMapper;
private final DistributionDeliveryListMapper distributionDeliveryListMapper;
private final DistributionReservationMapper distributionReservationMapper;
private final IDistributionLoadscaninvnService distributionLoadscaninvnService;
private final DistributionDeliverySelfMapper distributionDeliverySelfMapper;
@ -98,8 +102,8 @@ public class DistributionSignforClient implements IDistributionSignforClient {
* @param signingId
*/
@Override
public void push0ldSystemSignInfo(Long signingId) {
distributionSignforService.push0ldSystemSignInfo(signingId);
public Map<String ,Object> push0ldSystemSignInfo(Long signingId) {
return distributionSignforService.push0ldSystemSignInfo(signingId);
}
@ -109,12 +113,25 @@ public class DistributionSignforClient implements IDistributionSignforClient {
* @return
*/
@Override
public Boolean clerkCheckPushData(Long id) {
public Map<String,Object> clerkCheckPushData(Long id) {
return distributionSignforService.clerkCheckPushData(id);
}
@Override
public Map<String, Object> clerkInventoryCheckPushData(String orderPackageCode) {
return distributionSignforService.clerkInventoryCheckPushData(orderPackageCode);
}
private void buildNameAndPhone(List<SignPushDataUnitDTO> pushOldPackageSigning) {
for (SignPushDataUnitDTO signPushDataUnitDTO : pushOldPackageSigning) {
User user = bladeRedis.get(RedisKeyConstant.USER_NAME_PHONE_KEY + signPushDataUnitDTO.getAdministratorsId());

1
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml

@ -367,6 +367,7 @@
association_value ) AS t2 ON t.cargo_number = t2.association_value
where ldslNew.is_deleted = 0
AND ldslNew.warehouse_id=#{warehouseId}
AND ldslNew.market_name=#{mallName}
GROUP BY
ldslNew.cargo_number
</select>

33
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.java

@ -379,4 +379,37 @@ public interface DistributionSignforMapper extends BaseMapper<DistributionSignfo
void deductionLoadingAndSignforPacjageNum(@Param("reservationId")Long reservationId,@Param("deliveryId") Long deliveryId,@Param("loadingNum") int loadingNum,@Param("signforNum") int signforNum);
/**
* 查询推送库存品装车包件
* @param reservationId
* @param deliveryId
* @return
*/
List<SignPushDataUnitDTO> selectPushOldInventoryPackageLoading(@Param("reservationId")Long reservationId,@Param("deliveryId") Long deliveryId);
/**
* 查询推送库存品签收包件
* @param reservationId
* @param deliveryId
* @return
*/
List<SignPushDataUnitDTO> selectPushOldInventoryPackageSigning(@Param("reservationId")Long reservationId,@Param("deliveryId") Long deliveryId);
/**
* 查询推送单个库存品装车包件
* @param reservationId
* @param deliveryId
* @return
*/
List<SignPushDataUnitDTO> selectPushOldSingleInventoryPackageLoading(@Param("reservationId")Long reservationId,@Param("deliveryId") Long deliveryId,@Param("orderPackageCode") String orderPackageCode);
/**
* 查询推送单个库存品签收包件
* @param reservationId
* @param deliveryId
* @return
*/
List<SignPushDataUnitDTO> selectPushOldSingleInventoryPackageSigning(@Param("reservationId")Long reservationId,@Param("deliveryId") Long deliveryId,@Param("orderPackageCode") String orderPackageCode);
}

140
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml

@ -1266,7 +1266,7 @@
lddl.train_number AS transNo,
ldpl.waybill_number AS waybillNo,
ldpl.order_code AS orderSelfNum,
IFNULL(ldpl.order_package_code ,'')AS unitNo,
IFNULL(ldpl.order_package_code ,ldpl.order_code)AS unitNo,
ldpl.quantity AS num,
ldl.signfor_state AS type,
ldl.scan_time AS operateTime,
@ -1298,7 +1298,7 @@
lddl.train_number AS transNo,
ldpl.waybill_number AS waybillNo,
ldpl.order_code AS orderSelfNum,
IFNULL(ldpl.order_package_code ,'')AS unitNo,
IFNULL(ldpl.order_package_code ,ldpl.order_code)AS unitNo,
ldpl.quantity AS num,
ldl.signfor_state AS type,
ldl.signing_time AS operateTime,
@ -1658,4 +1658,140 @@
WHERE
lds.id = #{id} AND lds.is_deleted = 0
</select>
<select id="selectPushOldInventoryPackageLoading"
resultType="com.logpm.oldproject.dto.SignPushDataUnitDTO">
SELECT
ldpl.id AS id,
if(lww.old_id is null,lww.id,lww.old_id) AS warehouseId,
lddl.id AS distributionId,
lddl.train_number AS transNo,
ldpl.waybill_number AS waybillNo,
ldpl.order_code AS orderSelfNum,
IFNULL(ldpl.order_package_code ,'')AS unitNo,
ldpl.quantity AS num,
ldl.signfor_state AS type,
ldl.scan_time AS operateTime,
ldl.create_user AS administratorsId,
IF
( ldl.id IS NOT NULL, 1, ldl.id ) AS is_loading,
1 is_out,
IF(ldpl.conditions = 1, 0 ,ldpl.conditions) AS goods_type,
ldl.received_quantity AS signNum,
5 AS broke_state
FROM
logpm_distribution_loadscaninvn AS ldl
INNER JOIN logpm_distribution_delivery_list AS lddl ON lddl.id = ldl.delivery_id
AND lddl.is_deleted = 0
INNER JOIN logpm_distribution_parcel_list AS ldpl ON ldl.order_package_code = ldpl.order_package_code AND ldpl.warehouse_id = ldl.warehouse_id
AND ldpl.is_deleted = 0
LEFT JOIN logpm_warehouse_warehouse AS lww ON ldpl.warehouse_id = lww.id
WHERE
ldl.reservation_id = #{reservationId}
AND ldl.delivery_id = #{deliveryId}
AND ldl.scan_status != 1
AND ldl.is_deleted = 0
</select>
<select id="selectPushOldInventoryPackageSigning"
resultType="com.logpm.oldproject.dto.SignPushDataUnitDTO">
SELECT
ldpl.id AS id,
if(lww.old_id is null,lww.id,lww.old_id) AS warehouseId,
lddl.id AS distributionId,
lddl.train_number AS transNo,
ldpl.waybill_number AS waybillNo,
ldpl.order_code AS orderSelfNum,
IFNULL(ldpl.order_package_code ,ldpl.order_code)AS unitNo,
ldpl.quantity AS num,
ldl.signfor_state AS type,
ldl.signing_time AS operateTime,
ldl.signing_user_id AS administratorsId,
IF
( ldl.id IS NOT NULL, 1, ldl.id ) AS is_loading,
1 is_out,
IF(ldpl.conditions = 1, 0 ,ldpl.conditions) AS goods_type,
ldl.received_quantity AS signNum,
5 AS broke_state
FROM
logpm_distribution_loadscaninvn AS ldl
INNER JOIN logpm_distribution_delivery_list AS lddl ON lddl.id = ldl.delivery_id
AND lddl.is_deleted = 0
INNER JOIN logpm_distribution_parcel_list AS ldpl ON ldl.order_package_code = ldpl.order_package_code AND ldpl.warehouse_id = ldl.warehouse_id
AND ldpl.is_deleted = 0
LEFT JOIN logpm_warehouse_warehouse AS lww ON ldpl.warehouse_id = lww.id
WHERE
ldl.reservation_id = #{reservationId}
AND ldl.delivery_id = #{deliveryId}
AND ldl.scan_status != 1
AND ldl.is_deleted = 0
AND ldl.signfor_state = 2
</select>
<select id="selectPushOldSingleInventoryPackageLoading"
resultType="com.logpm.oldproject.dto.SignPushDataUnitDTO">
SELECT
ldpl.id AS id,
if(lww.old_id is null,lww.id,lww.old_id) AS warehouseId,
lddl.id AS distributionId,
lddl.train_number AS transNo,
ldpl.waybill_number AS waybillNo,
ldpl.order_code AS orderSelfNum,
IFNULL(ldpl.order_package_code ,'')AS unitNo,
ldpl.quantity AS num,
ldl.signfor_state AS type,
ldl.scan_time AS operateTime,
ldl.create_user AS administratorsId,
IF
( ldl.id IS NOT NULL, 1, ldl.id ) AS is_loading,
1 is_out,
IF(ldpl.conditions = 1, 0 ,ldpl.conditions) AS goods_type,
ldl.received_quantity AS signNum,
5 AS broke_state
FROM
logpm_distribution_loadscaninvn AS ldl
INNER JOIN logpm_distribution_delivery_list AS lddl ON lddl.id = ldl.delivery_id
AND lddl.is_deleted = 0
INNER JOIN logpm_distribution_parcel_list AS ldpl ON ldl.order_package_code = ldpl.order_package_code AND ldpl.warehouse_id = ldl.warehouse_id
AND ldpl.is_deleted = 0
LEFT JOIN logpm_warehouse_warehouse AS lww ON ldpl.warehouse_id = lww.id
WHERE
ldl.reservation_id = #{reservationId}
AND ldl.delivery_id = #{deliveryId}
AND ldl.order_package_code = #{orderPackageCode}
AND ldl.scan_status != 1
AND ldl.is_deleted = 0
</select>
<select id="selectPushOldSingleInventoryPackageSigning"
resultType="com.logpm.oldproject.dto.SignPushDataUnitDTO">
SELECT
ldpl.id AS id,
if(lww.old_id is null,lww.id,lww.old_id) AS warehouseId,
lddl.id AS distributionId,
lddl.train_number AS transNo,
ldpl.waybill_number AS waybillNo,
ldpl.order_code AS orderSelfNum,
IFNULL(ldpl.order_package_code ,ldpl.order_code)AS unitNo,
ldpl.quantity AS num,
ldl.signfor_state AS type,
ldl.signing_time AS operateTime,
ldl.signing_user_id AS administratorsId,
IF
( ldl.id IS NOT NULL, 1, ldl.id ) AS is_loading,
1 is_out,
IF(ldpl.conditions = 1, 0 ,ldpl.conditions) AS goods_type,
ldl.received_quantity AS signNum,
5 AS broke_state
FROM
logpm_distribution_loadscaninvn AS ldl
INNER JOIN logpm_distribution_delivery_list AS lddl ON lddl.id = ldl.delivery_id
AND lddl.is_deleted = 0
INNER JOIN logpm_distribution_parcel_list AS ldpl ON ldl.order_package_code = ldpl.order_package_code AND ldpl.warehouse_id = ldl.warehouse_id
AND ldpl.is_deleted = 0
LEFT JOIN logpm_warehouse_warehouse AS lww ON ldpl.warehouse_id = lww.id
WHERE
ldl.reservation_id = #{reservationId}
AND ldl.delivery_id = #{deliveryId}
AND ldl.order_package_code = #{orderPackageCode}
AND ldl.scan_status != 1
AND ldl.is_deleted = 0
AND ldl.signfor_state = 2
</select>
</mapper>

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

@ -52,7 +52,7 @@
dbl.total_cost AS totalCost,
dbl.pick_up_plate AS pickUpPlate,
dbl.pickup_batch AS pickupBatch,
( SELECT count( quantity ) FROM logpm_distribution_bill_lading_scan WHERE bill_lading_id = dbl.id ) AS stopNum,
( SELECT IFNULL(SUM(quantity),0) FROM logpm_distribution_bill_lading_scan WHERE bill_lading_id = dbl.id ) AS stopNum,
(
SELECT
group_concat( splice )

4
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/ClerkCheckPushDataQueueHandler.java

@ -64,8 +64,8 @@ public class ClerkCheckPushDataQueueHandler {
log.info(">>>>>>>>>>>>> clerkCheckPushDataHandler 签收ID为空");
return;
}
Boolean b = distributionSignforService.clerkCheckPushData(t);
log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 推送老系统签收队列 成功状态: {}",b);
Map<String,Object> map1= distributionSignforService.clerkCheckPushData(t);
log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 推送老系统签收队列 成功状态: {}",map1);
} catch (Exception e) {
log.error(">>>>> 推送老系统签收信息报错", e);
}

12
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java

@ -335,11 +335,11 @@ public interface IDistributionSignforService extends BaseService<DistributionSig
* 推送老系统
* @param signingId
*/
void push0ldSystemSignInfo(Long signingId);
Map<String ,Object> push0ldSystemSignInfo(Long signingId);
SignforPageCountVO selectDistributionSignforPageCount( DistributionSignforVO distributionSignfor);
Boolean clerkCheckPushData(Long id);
Map<String,Object> clerkCheckPushData(Long id);
/**
* 导出签收详情列表
@ -368,4 +368,12 @@ public interface IDistributionSignforService extends BaseService<DistributionSig
* @return
*/
List<DistributionAddvaluePackageDTO> checkAddValuePCPackageList(Long reservationId);
/**
* 推送库存品包件
* @param orderPackageCode
* @return
*/
Map<String, Object> clerkInventoryCheckPushData(String orderPackageCode);
}

262
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java

@ -901,138 +901,154 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
List<DistributionParcelListEntity> distributionParcelListEntities = this.listByIds(packageIds);
List<Long> materialId = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getMaterialId).distinct().collect(Collectors.toList());
List<String> materialCode = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getMaterialCode).distinct().collect(Collectors.toList());
List<String> materialUnit = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getMaterialUnit).distinct().collect(Collectors.toList());
List<Long> mallId = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getMarketId).distinct().collect(Collectors.toList());
List<String> materialName = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getMaterialName).distinct().collect(Collectors.toList());
List<Long> brandId = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getBrandId).distinct().collect(Collectors.toList());
if (materialId.size() != 1 || materialCode.size() != 1 || materialUnit.size() != 1 || mallId.size() != 1 || materialName.size() != 1 || brandId.size() != 1) {
//该批次包件出现多种物料包件
return null;
}
int num = distributionParcelListEntities.stream().mapToInt(DistributionParcelListEntity::getQuantity).sum();
if (num <= 0) {
//无有效的在库数量
return null;
}
DistributionStockListEntity distributionStockListEntity = new DistributionStockListEntity();
//直接添加
// distributionStockListEntity.setIncomingBatch(distributionStockArticleEntity.get); //入库批次号
distributionStockListEntity.setServiceNumber(Optional.ofNullable(distributionStockArticleEntity.getServiceNumber()).orElse(null)); //服务号
distributionStockListEntity.setDescriptionGoods(materialName.get(0)); //物料名称
distributionStockListEntity.setCargoNumber(materialCode.get(0)); //物料编号
distributionStockListEntity.setWarehouseName(Optional.ofNullable(distributionStockArticleEntity.getWarehouse()).orElse(null)); //仓库
distributionStockListEntity.setWarehouseId(Optional.ofNullable(distributionStockArticleEntity.getWarehouseId()).orElse(null)); //仓库ID
distributionStockListEntity.setMarketId(Optional.ofNullable(distributionStockArticleEntity.getMallId()).orElse(null)); //商场
distributionStockListEntity.setCargoUnit(materialUnit.get(0)); //货物单位
// List<String> materialUnit = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getMaterialUnit).distinct().collect(Collectors.toList());
// List<Long> mallId = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getMarketId).distinct().collect(Collectors.toList());
// List<String> materialName = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getMaterialName).distinct().collect(Collectors.toList());
// List<String> brandName = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getBrandName).distinct().collect(Collectors.toList());
// List<Long> brandId = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getBrandId).distinct().collect(Collectors.toList());
// if (materialId.size() != 1 || materialCode.size() != 1 || materialUnit.size() != 1 || mallId.size() != 1 || materialName.size() != 1 || brandName.size() != 1) {
// //该批次包件出现多种物料包件
// return null;
// }
List<DistributionStockListInfoEntity> infoEntities = new ArrayList<>();
distributionStockListEntity.setMallName(Optional.ofNullable(distributionStockArticleEntity.getMallName()).orElse(null)); //商场名称
distributionStockListEntity.setQuantityStock(num); //库存数量(包件数量)
distributionStockListEntity.setIncomingBatch(Optional.ofNullable(distributionStockArticleEntity.getOrderCode()).orElse(null)); //入库批次
distributionStockListEntity.setOutboundQuantity(0); //出库数量
if (!distributionParcelListEntities.isEmpty()) {
Map<String, List<DistributionParcelListEntity>> listMap = distributionParcelListEntities.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getMaterialName));
listMap.forEach((k,v)->{
//校验品牌
List<String> brandList = v.stream().map(DistributionParcelListEntity::getBrandName).collect(Collectors.toList());
if (brandList.size()>1){
//多个品牌
throw new ServiceException(k+"多个品牌");
}
List<String> mallList = v.stream().map(DistributionParcelListEntity::getMallName).collect(Collectors.toList());
if (mallList.size()>1){
//多个商场
throw new ServiceException(k+"多个商场");
}
List<Long> brandId = v.stream().map(DistributionParcelListEntity::getBrandId).distinct().collect(Collectors.toList());
if (brandId.size()>1){
//多个品牌
throw new ServiceException(k+"多个品牌");
}
List<String> materialName = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getMaterialName).distinct().collect(Collectors.toList());
if (materialName.size()>1){
throw new ServiceException(k+"存在多个物料单位");
}
List<String> materialUnit = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getMaterialUnit).distinct().collect(Collectors.toList());
if (materialUnit.size()>1){
//多个物料单位
throw new ServiceException(k+"存在多个物料单位");
}
int num = v.stream().mapToInt(DistributionParcelListEntity::getQuantity).sum();
if (num <= 0) {
//无有效的在库数量
throw new ServiceException("无有效的在库数量");
}
DistributionStockListEntity distributionStockListEntity = new DistributionStockListEntity();
//直接添加
distributionStockListEntity.setServiceNumber(Optional.ofNullable(distributionStockArticleEntity.getServiceNumber()).orElse(null)); //服务号
distributionStockListEntity.setDescriptionGoods(materialName.get(0)); //物料名称
distributionStockListEntity.setCargoNumber(materialCode.get(0)); //物料编号
distributionStockListEntity.setWarehouseName(Optional.ofNullable(distributionStockArticleEntity.getWarehouse()).orElse(null)); //仓库
distributionStockListEntity.setWarehouseId(Optional.ofNullable(distributionStockArticleEntity.getWarehouseId()).orElse(null)); //仓库ID
distributionStockListEntity.setMarketId(Optional.ofNullable(distributionStockArticleEntity.getMallId()).orElse(null)); //商场
distributionStockListEntity.setCargoUnit(materialUnit.get(0)); //货物单位
distributionStockListEntity.setMallName(Optional.ofNullable(distributionStockArticleEntity.getMallName()).orElse(null)); //商场名称
distributionStockListEntity.setQuantityStock(num); //库存数量(包件数量)
distributionStockListEntity.setIncomingBatch(Optional.ofNullable(distributionStockArticleEntity.getOrderCode()).orElse(null)); //入库批次
distributionStockListEntity.setOutboundQuantity(0); //出库数量
// distributionStockListEntity.setCargoUnit(Optional.ofNullable(distributionParcelList.getMaterialUnit()).orElse(null));//单位
distributionStockListEntity.setStoreId(Optional.ofNullable(distributionStockArticleEntity.getStoreId()).orElse(null));//门店ID
distributionStockListEntity.setMarketCode(Optional.ofNullable(distributionStockArticleEntity.getMallCode()).orElse(null));//商场编码
distributionStockListEntity.setMarketName(Optional.ofNullable(distributionStockArticleEntity.getMallName()).orElse(null));//商场名称
distributionStockListEntity.setStoreCode(Optional.ofNullable(distributionStockArticleEntity.getStoreCode()).orElse(null));//门店编码
distributionStockListEntity.setStoreName(Optional.ofNullable(distributionStockArticleEntity.getStoreName()).orElse(null));//门店名称
distributionStockListEntity.setStoreId(Optional.ofNullable(distributionStockArticleEntity.getStoreId()).orElse(null));//门店ID
distributionStockListEntity.setMarketCode(Optional.ofNullable(distributionStockArticleEntity.getMallCode()).orElse(null));//商场编码
distributionStockListEntity.setMarketName(Optional.ofNullable(distributionStockArticleEntity.getMallName()).orElse(null));//商场名称
distributionStockListEntity.setStoreCode(Optional.ofNullable(distributionStockArticleEntity.getStoreCode()).orElse(null));//门店编码
distributionStockListEntity.setStoreName(Optional.ofNullable(distributionStockArticleEntity.getStoreName()).orElse(null));//门店名称
// distributionStockListEntity.setCategory(Optional.ofNullable(distributionParcelList.getBrandId()+"").orElse(null));//品分类
// 品牌
distributionStockListEntity.setBrandId(brandId.get(0));
distributionStockListEntity.setUnpackingQuantity(0);
distributionStockListEntity.setSourceType("1"); //类型
BasicMaterialEntity materialOwnId = basicMaterialClient.getMaterialOwnId(materialId.get(0));
distributionStockListEntity.setSku(materialOwnId.getSku());
distributionStockListEntity.setMaterialId(materialId.get(0));//货物ID
// distributionStockListEntity.setParcelListId(distributionParcelListEntities.getId());//包件id
distributionStockListEntity.setQuantityOccupied(0);//冻结数量
distributionStockListEntity.setServiceType(distributionStockArticleEntity.getTypeService());//冻结数量
DistributionStockListEntity stockListEntity = distributionStockListService.getStockListEntity(distributionStockArticleEntity.getMallId(), distributionParcelListEntities.get(0).getMaterialId(), distributionStockArticleEntity.getOrderCode(), distributionStockArticleEntity.getStoreId(), distributionStockArticleEntity.getWarehouseId());
if (ObjectUtils.isNotNull(stockListEntity)) {
distributionStockListEntity.setId(stockListEntity.getId());
//有记录
DistributionStockListEntity listEntity = new DistributionStockListEntity();
listEntity.setId(stockListEntity.getId());//id
// Integer quantity = ObjectUtils.isNull(distributionParcelListEntities.get(0).getQuantity()) ? 0 : distributionParcelListEntities.get(0).getQuantity();
Integer quantityStock = ObjectUtils.isNull(stockListEntity.getQuantityStock()) ? 0 : stockListEntity.getQuantityStock();
listEntity.setQuantityStock(num + quantityStock);
distributionStockListService.updateById(listEntity);
} else {
log.info("###########distributionStockListEntity>>>>>>>>,{}", distributionStockListEntity);
distributionStockListService.save(distributionStockListEntity);
}
// distributionStockListEntity.setTrayName(Optional.ofNullable(distributionParcelList.getPallet()).orElse(null)); //托盘
// distributionStockListEntity.setStorageLocation(Optional.ofNullable(distributionParcelList.getGoodsAllocation()).orElse(null)); //库位信息
// distributionStockListEntity.setFactory(Optional.ofNullable(distributionStockArticleEntity.getFactoryTrain()).orElse(null));//工厂车次
// distributionStockListEntity.setDespatch(Optional.ofNullable(distributionStockArticleEntity.getTrainNumber()).orElse(null));//车次号
// distributionStockListEntity.setStockArticleId(Optional.ofNullable(distributionStockArticleEntity.getId()).orElse(null)); //订单ID
// distributionStockListEntity.setOrderCode(Optional.ofNullable(distributionParcelListEntities.get(0).getOrderCode()).orElse(null)); //订单自编号
// 品牌
distributionStockListEntity.setBrandId(brandId.get(0));
distributionStockListEntity.setBrandName(brandList.get(0));
distributionStockListEntity.setUnpackingQuantity(0);
distributionStockListEntity.setSourceType("1"); //类型
BasicMaterialEntity materialOwnId = basicMaterialClient.getMaterialOwnId(materialId.get(0));
distributionStockListEntity.setSku(materialOwnId.getSku());
distributionStockListEntity.setMaterialId(materialId.get(0));//货物ID
distributionStockListEntity.setQuantityOccupied(0);//冻结数量
distributionStockListEntity.setServiceType(distributionStockArticleEntity.getTypeService());//冻结数量
DistributionStockListEntity stockListEntity = distributionStockListService.getStockListEntity(distributionStockArticleEntity.getMallId(), distributionParcelListEntities.get(0).getMaterialId(), distributionStockArticleEntity.getOrderCode(), distributionStockArticleEntity.getStoreId(), distributionStockArticleEntity.getWarehouseId());
if (ObjectUtils.isNotNull(stockListEntity)) {
distributionStockListEntity.setId(stockListEntity.getId());
//有记录
DistributionStockListEntity listEntity = new DistributionStockListEntity();
listEntity.setId(stockListEntity.getId());//id
Integer quantityStock = ObjectUtils.isNull(stockListEntity.getQuantityStock()) ? 0 : stockListEntity.getQuantityStock();
listEntity.setQuantityStock(num + quantityStock);
distributionStockListService.updateById(listEntity);
} else {
log.info("###########distributionStockListEntity>>>>>>>>,{}", distributionStockListEntity);
distributionStockListService.save(distributionStockListEntity);
}
List<DistributionStockListInfoEntity> infoEntities = new ArrayList<>();
for (DistributionParcelListEntity distributionParcelListEntity : distributionParcelListEntities) {
//添加库存品记录
DistributionStockListInfoEntity distributionStockListInfo = new DistributionStockListInfoEntity();
// BeanUtil.copyProperties(distributionStockListEntity,distributionStockListInfo);
distributionStockListInfo.setServiceNumber(distributionStockListEntity.getServiceNumber()); //服务号
distributionStockListInfo.setStockListId(distributionStockListEntity.getId()); //库存品ID
distributionStockListInfo.setDescriptionGoods(distributionStockListEntity.getMallName()); //物料名称
distributionStockListInfo.setCargoNumber(distributionStockListEntity.getCargoNumber()); //物料编号
distributionStockListInfo.setWarehouseName(distributionStockListEntity.getWarehouseName()); //仓库
distributionStockListInfo.setWarehouseId(distributionStockListEntity.getWarehouseId()); //仓库ID
distributionStockListInfo.setMarketId(distributionStockListEntity.getMarketId()); //商场
distributionStockListInfo.setCargoUnit(distributionStockListEntity.getCargoUnit()); //货物单位
distributionStockListInfo.setStorageLocation(distributionParcelListEntity.getPallet()); //货物单位
distributionStockListInfo.setMallName(distributionStockListEntity.getMallName()); //商场名称
distributionStockListInfo.setQuantityStock(distributionParcelListEntity.getQuantity()); //库存数量(包件数量)
distributionStockListInfo.setIncomingBatch(distributionStockListEntity.getIncomingBatch()); //入库批次
distributionStockListInfo.setOutboundQuantity(0); //出库数量
distributionStockListInfo.setOutboundQuantity(0); //入库时间
for (DistributionParcelListEntity distributionParcelListEntity : v) {
//添加库存品记录
DistributionStockListInfoEntity distributionStockListInfo = new DistributionStockListInfoEntity();
distributionStockListInfo.setServiceNumber(distributionStockListEntity.getServiceNumber()); //服务号
distributionStockListInfo.setStockListId(distributionStockListEntity.getId()); //库存品ID
distributionStockListInfo.setDescriptionGoods(distributionStockListEntity.getMallName()); //物料名称
distributionStockListInfo.setCargoNumber(distributionStockListEntity.getCargoNumber()); //物料编号
distributionStockListInfo.setWarehouseName(distributionStockListEntity.getWarehouseName()); //仓库
distributionStockListInfo.setWarehouseId(distributionStockListEntity.getWarehouseId()); //仓库ID
distributionStockListInfo.setMarketId(distributionStockListEntity.getMarketId()); //商场
distributionStockListInfo.setCargoUnit(distributionStockListEntity.getCargoUnit()); //货物单位
distributionStockListInfo.setStorageLocation(distributionParcelListEntity.getPallet()); //货物单位
distributionStockListInfo.setMallName(distributionStockListEntity.getMallName()); //商场名称
distributionStockListInfo.setQuantityStock(distributionParcelListEntity.getQuantity()); //库存数量(包件数量)
distributionStockListInfo.setIncomingBatch(distributionStockListEntity.getIncomingBatch()); //入库批次
distributionStockListInfo.setOutboundQuantity(0); //出库数量
distributionStockListInfo.setOutboundQuantity(0); //入库时间
distributionStockListInfo.setStoreId(distributionStockListEntity.getStoreId());//门店ID
distributionStockListInfo.setMarketCode(distributionStockListEntity.getMarketCode());//商场编码
distributionStockListInfo.setMarketName(distributionStockListEntity.getMarketName());//商场名称
distributionStockListInfo.setStoreCode(distributionStockListEntity.getStoreCode());//门店编码
distributionStockListInfo.setStoreName(distributionStockListEntity.getStoreName());//门店名称
// 品牌
distributionStockListInfo.setBrandId(distributionStockListEntity.getBrandId());
distributionStockListInfo.setBrandName(distributionStockListEntity.getBrandName());
distributionStockListInfo.setUnpackingQuantity(0);
distributionStockListInfo.setSourceType("1"); //类型
distributionStockListInfo.setSku(distributionStockListEntity.getSku());
distributionStockListInfo.setMaterialId(distributionStockListEntity.getMaterialId());//货物ID
distributionStockListInfo.setQuantityOccupied(0);//冻结数量
distributionStockListInfo.setServiceType(distributionStockListEntity.getServiceType());//冻结数
//需要包件维度的详情
WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity = new WarehouseUpdownGoodsEntity();
warehouseUpdownGoodsEntity.setWarehouseId(myCurrentWarehouse.getId());
warehouseUpdownGoodsEntity.setAssociationType("3");
warehouseUpdownGoodsEntity.setAssociationValue(distributionParcelListEntity.getOrderPackageCode());
WarehouseUpdownGoodsEntity locationInformation = warehouseUpdownGoodsClient.getLocationInformation(warehouseUpdownGoodsEntity);
if (Func.isNotEmpty(locationInformation)) {
distributionStockListInfo.setStorageLocation(locationInformation.getAllocationTitle());
}
distributionStockListInfo.setFactory(distributionStockArticleEntity.getFactoryTrain());
distributionStockListInfo.setDespatch(distributionStockArticleEntity.getTrainNumber());
distributionStockListInfo.setStockArticleId(distributionStockArticleEntity.getId());
distributionStockListInfo.setOrderCode(distributionStockArticleEntity.getOrderCode());
distributionStockListInfo.setParcelListId(distributionParcelListEntity.getId());
distributionStockListInfo.setPackageCode(distributionParcelListEntity.getOrderPackageCode());
distributionStockListInfo.setDespatch(distributionParcelListEntity.getWaybillNumber());
infoEntities.add(distributionStockListInfo);
}
// distributionStockListEntity.setCargoUnit(Optional.ofNullable(distributionParcelList.getMaterialUnit()).orElse(null));//单位
distributionStockListInfo.setStoreId(distributionStockListEntity.getStoreId());//门店ID
distributionStockListInfo.setMarketCode(distributionStockListEntity.getMarketCode());//商场编码
distributionStockListInfo.setMarketName(distributionStockListEntity.getMarketName());//商场名称
distributionStockListInfo.setStoreCode(distributionStockListEntity.getStoreCode());//门店编码
distributionStockListInfo.setStoreName(distributionStockListEntity.getStoreName());//门店名称
});
// distributionStockListEntity.setCategory(Optional.ofNullable(distributionParcelList.getBrandId()+"").orElse(null));//品分类
// 品牌
distributionStockListInfo.setBrandId(distributionStockListEntity.getBrandId());
distributionStockListInfo.setBrandName(distributionStockListEntity.getBrandName());
distributionStockListInfo.setUnpackingQuantity(0);
distributionStockListInfo.setSourceType("1"); //类型
distributionStockListInfo.setSku(distributionStockListEntity.getSku());
distributionStockListInfo.setMaterialId(distributionStockListEntity.getMaterialId());//货物ID
// distributionStockListEntity.setParcelListId(distributionParcelListEntities.getId());//包件id
distributionStockListInfo.setQuantityOccupied(0);//冻结数量
distributionStockListInfo.setServiceType(distributionStockListEntity.getServiceType());//冻结数
//需要包件维度的详情
WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity = new WarehouseUpdownGoodsEntity();
warehouseUpdownGoodsEntity.setWarehouseId(myCurrentWarehouse.getId());
warehouseUpdownGoodsEntity.setAssociationType("3");
warehouseUpdownGoodsEntity.setAssociationValue(distributionParcelListEntity.getOrderPackageCode());
WarehouseUpdownGoodsEntity locationInformation = warehouseUpdownGoodsClient.getLocationInformation(warehouseUpdownGoodsEntity);
if (Func.isNotEmpty(locationInformation)) {
// distributionStockListInfo.setTrayName(locationInformation.get);
distributionStockListInfo.setStorageLocation(locationInformation.getAllocationTitle());
}
distributionStockListInfo.setFactory(distributionStockArticleEntity.getFactoryTrain());
distributionStockListInfo.setDespatch(distributionStockArticleEntity.getTrainNumber());
distributionStockListInfo.setStockArticleId(distributionStockArticleEntity.getId());
distributionStockListInfo.setOrderCode(distributionStockArticleEntity.getOrderCode());
distributionStockListInfo.setParcelListId(distributionParcelListEntity.getId());
distributionStockListInfo.setPackageCode(distributionParcelListEntity.getOrderPackageCode());
distributionStockListInfo.setDespatch(distributionParcelListEntity.getWaybillNumber());
infoEntities.add(distributionStockListInfo);
}
distributionStockListInfoService.saveBatch(infoEntities);
if (!infoEntities.isEmpty()) {
distributionStockListInfoService.saveBatch(infoEntities);
}
return distributionStockArticleEntity;
}

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

@ -59,6 +59,7 @@ import com.logpm.warehouse.feign.IWarehouseUpdownStockUpAreaClient;
import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.logging.log4j.util.Strings;
import org.jetbrains.annotations.NotNull;
import org.springblade.common.constant.DistributionTypeConstant;
import org.springblade.common.constant.Inventory.InventoryLoadingStatusConstant;
@ -910,13 +911,13 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
}
//统计客户装车数
Integer lad = distributionLoadscanMapper.selectCount(new QueryWrapper<DistributionLoadscanEntity>().lambda()
.eq(DistributionLoadscanEntity::getReservationId, signforEntity.getReservationId())
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()))
.eq(DistributionLoadscanEntity::getReservationId, signforEntity.getReservationId())
.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()))
.intValue();
Integer nad = distributionLoadscaninvnMapper.selectCount(new QueryWrapper<DistributionLoadscaninvnEntity>().lambda()
.eq(DistributionLoadscaninvnEntity::getReservationId, signforEntity.getReservationId())
.ne(DistributionLoadscaninvnEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()))
.eq(DistributionLoadscaninvnEntity::getReservationId, signforEntity.getReservationId())
.ne(DistributionLoadscaninvnEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()))
.intValue();
signforEntity.setLoadedNumber(lad);
signforEntity.setLoadedinNumber(nad);
@ -950,7 +951,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
log.error("signforack############未进行签收上传图片");
return R.fail("无签收数据");
}
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
log.info("=============签收图片数据为:{}", distributionSignfor.getMap());
if (ObjectUtils.isNotNull(distributionSignfor.getMap())) {
List<DistributionSignPrintEntity> distributionSignPrintList = new ArrayList<>();
@ -1592,13 +1593,13 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
* @param signingId
*/
@Override
public void push0ldSystemSignInfo(Long signingId) {
public Map<String, Object> push0ldSystemSignInfo(Long signingId) {
try {
log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 推送老系统签收队列");
//得到审核的任务ID
if (ObjectUtil.isEmpty(signingId)) {
log.info(">>>>>>>>>>>>> clerkCheckPushDataHandler 签收ID为空");
return;
return null;
}
//得到签收对象
@ -1608,20 +1609,20 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
if (ObjectUtil.isEmpty(distributionSignforEntity)) {
log.info(">>>>>>>>>>>> clerkCheckPushDataHandler distributionSignforEntity {}", distributionSignforEntity);
return;
return null;
}
// 得到配送计划
DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(distributionSignforEntity.getDeliveryId());
if (ObjectUtil.isEmpty(distributionDeliveryListEntity)) {
log.info(">>>>>>>>>>> clerkCheckPushDataHandler distributionDeliveryListEntity {}", distributionDeliveryListEntity);
return;
return null;
}
// 得到配送客户
DistributionReservationEntity distributionReservationEntity = distributionReservationMapper.selectById(distributionSignforEntity.getReservationId());
if (ObjectUtil.isEmpty(distributionReservationEntity)) {
log.info(">>>>>>>>>>>> clerkCheckPushDataHandler distributionReservationEntity {}", distributionReservationEntity);
return;
return null;
}
@ -1727,12 +1728,13 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
}
Boolean b = oldSystemDataPushClient.pushOldSystemSignInfo(delivery);
Map<String, Object> map = oldSystemDataPushClient.pushOldSystemSignInfo(delivery);
return map;
} catch (Exception e) {
log.error(">>>>> 推送老系统签收信息报错", e);
}
return null;
}
@ -2466,7 +2468,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
signforExcel.setDeliveryStatusName(d.getSijiSigningStatus());
signforExcel.setExamineUserName(d.getExamineUserName());
signforExcel.setWarehouseName(d.getWarehouseName());
int unsigneds =d.getReservationNum() - d.getReceivedQuantity();
int unsigneds = d.getReservationNum() - d.getReceivedQuantity();
signforExcel.setUnsigneds(unsigneds);
a.add(signforExcel);
@ -2514,7 +2516,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
return R.fail(403, "仓库信息不能为空");
}
DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListService.getById(distrilbutionloadingscanDTO.getDeliveryId());
//查询是否完成复核
//查询是否完成复核
DistributionSignforEntity signforEntity = this.getOne(Wrappers.<DistributionSignforEntity>query().lambda()
.eq(DistributionSignforEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId())
);
@ -2809,7 +2811,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
return Resp.scanSuccessWithData("签收成功", str, orderPackageCodes);
} catch (Exception e) {
log.error(">>>>> 签收异常报错", e);
throw new CustomerException("签收异常报错"+e.getMessage());
throw new CustomerException("签收异常报错" + e.getMessage());
}
}
@ -2981,7 +2983,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
distributionLoadscanService.updateById(distributionLoadscanEntity);
packageLockIds.add(distributionLoadscanEntity.getPackageId());
//缺少一个异步维护包件签收的方法
// distributionAsyncService.changeOrderSignforStatus(collect.get(0));
// distributionAsyncService.changeOrderSignforStatus(collect.get(0));
Integer j = distributionSignforMapper.updateSignforNum(distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getReservationId(), distributionLoadscanEntity.getPackageNub());
//更新签收人
Integer m = distributionSignforMapper.updateSignUser(distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getReservationId(), AuthUtil.getUser());
@ -3013,7 +3015,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
return Resp.scanFail("服务器正忙...", "服务器正忙");
}
//查询配送计划的计划司机
distributionLoadscanEntity = new DistributionLoadscanEntity();
distributionLoadscanEntity = new DistributionLoadscanEntity();
if (StringUtils.isNotBlank(distributionDeliverySelfEntity.getDriverPhone())) {
distributionLoadscanEntity.setDriverPhone(distributionDeliverySelfEntity.getDriverPhone());
}
@ -3071,7 +3073,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
Integer j = distributionSignforMapper.updateSignforByReservationId(distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getReservationId(), distributionLoadscanEntity.getPackageNub());
//更新签收人
Integer m = distributionSignforMapper.updateSignUser(distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getReservationId(), AuthUtil.getUser());
// 包件解托下架
// 包件解托下架
content = "包件在" + myCurrentWarehouse.getName() + "由" + AuthUtil.getNickName() + "后台签收,装车方式:补录装车,配送车次号:" + deliveryListEntity.getTrainNumber() + "预约任务号:" + distributionReservationEntity.getReservationCode();
try {
trunklinePackageTrackLog = handleLogJSONObject(myCurrentWarehouse, AuthUtil.getUser(), distributionLoadscanEntity.getOrderPackageCode(), content, WorkNodeEnums.DISTRIBUTION_SIGN_FOR.getCode(), deliveryListEntity.getId().toString(), parcelListEntity.getWarehouseEntryTimeEnd());
@ -3088,7 +3090,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
//维护签收包件状态
distributionStockArticleService.maintenanceOrderInfo(parcelListEntity.getOrderCode(), myCurrentWarehouse.getId());
//推送信息至工厂
// distributionAsyncService.sendFactory(parcelListEntity, simpleDateFormat.format(new Date()), distributionReservationEntity.getId(), distributionReservationEntity.getReservationCode(), myCurrentWarehouse.getName(), nickName);
// distributionAsyncService.sendFactory(parcelListEntity, simpleDateFormat.format(new Date()), distributionReservationEntity.getId(), distributionReservationEntity.getReservationCode(), myCurrentWarehouse.getName(), nickName);
sendNodeWorkDataBroadcast(parcelListEntity, distributionReservationEntity, distributionLoadscanEntity.getSigningTime(), myCurrentWarehouse);
//收集包件
@ -3097,14 +3099,14 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
// 推送商家端
// 推送
// try {
// sendMessage(orderPackageCode, distributionReservationEntity.getReservationCode(),
// deliveryListEntity.getTrainNumber(), deliveryListEntity.getVehicleName(), deliveryListEntity.getDriverName(),
// AuthUtil.getUserName(), myCurrentWarehouse.getId(), AuthUtil.getTenantId());
// } catch (Exception e) {
//// throw new RuntimeException(e);
// log.error(">>>> 签收推送报错", e);
// }
// try {
// sendMessage(orderPackageCode, distributionReservationEntity.getReservationCode(),
// deliveryListEntity.getTrainNumber(), deliveryListEntity.getVehicleName(), deliveryListEntity.getDriverName(),
// AuthUtil.getUserName(), myCurrentWarehouse.getId(), AuthUtil.getTenantId());
// } catch (Exception e) {
//// throw new RuntimeException(e);
// log.error(">>>> 签收推送报错", e);
// }
} else {
//一个客户下出现重复包条码
@ -3220,7 +3222,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
return Resp.scanFail(12000, "请先进行签收扫描后上传图片", "请先进行签收扫描后上传图片", null);
}
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
log.info("=============签收图片数据为:{}", distributionSignfor.getMap());
if (ObjectUtils.isNotNull(distributionSignfor.getMap())) {
List<DistributionSignPrintEntity> distributionSignPrintList = new ArrayList<>();
@ -3271,7 +3273,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
if (Func.isEmpty(distributionDeliveryListEntity)) {
return R.fail(403, "配送错误!!!");
}
if (distributionDeliveryListEntity.getKind().equals("2")){
if (distributionDeliveryListEntity.getKind().equals("2")) {
return Resp.scanFail("请调整配送计划", "请调整配送计划");
}
List<Long> packageLockIds = new ArrayList<>();
@ -3390,7 +3392,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
distributionLoadscanEntity.setIsAbnormalLoading(2);
distributionLoadscanEntity.setIsAbnormalSigning(2);
distributionLoadscanEntity.setAbnormalNote("异常签收");
loadscanEntity =distributionLoadscanEntity;
loadscanEntity = distributionLoadscanEntity;
log.info("异常签收>>>>>>>>>>>>>>>reservationId:{},deliveryId:{},orderPackageCode:{}", distributionLoadscanEntity.getReservationId(), distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getOrderPackageCode());
//进行签收数量的修改
Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId());
@ -3422,7 +3424,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
JSONObject trunklinePackageTrackLog = handleLogJSONObject(myCurrentWarehouse, AuthUtil.getUser(), parcelListEntity.getOrderPackageCode(), content, WorkNodeEnums.DISTRIBUTION_ABNORMAL_SIGN_FOR.getCode(), distributionDeliveryListEntity.getId().toString(), parcelListEntity.getWarehouseEntryTimeEnd());
aaa.add(trunklinePackageTrackLog);
} else {
} else {
return Resp.scanFail("操作失败", "不属于该客户");
}
@ -4937,10 +4939,13 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
String method = "######################DistributionSignforServiceImpl.oneclickPDA";
BladeUser user = AuthUtil.getUser();
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
//进行防重复提交
if (Objects.isNull(myCurrentWarehouse)) {
return R.fail(403, "仓库信息不能为空");
// throw new CustomerException(403, "仓库信息不能为/**/空");
}
int loadingPackageNum = 0;
int loadingInventoryNum = 0;
int signingPackageNum = 0;
@ -4965,6 +4970,10 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
log.error(method + "reservationEntity参数错误:{}", reservationEntity);
return R.fail("服务器正忙~~");
}
Long batchLock = bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() + "reservationId:" );
if (!Objects.isNull(batchLock)){
return R.fail("请不要重复操作");
}
List<Long> packageLockIds = new ArrayList<>();
//查询数据
DistributionSignforEntity distributionSignforEntity = baseMapper.selectOne(new QueryWrapper<DistributionSignforEntity>().lambda()
@ -5272,8 +5281,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
loadingPackageNum += parcelListEntityList.stream().mapToInt(DistributionParcelListEntity::getQuantity).sum();
signingPackageNum += parcelListEntityList.stream().mapToInt(DistributionParcelListEntity::getQuantity).sum();
for (DistributionParcelListEntity parcelListEntity : parcelListEntityList) {
if (OrderPackageStatusConstant.yiqianshou.getValue().equals(parcelListEntity.getOrderPackageStatus())){
log.info("司机一键签收 >>>>>包件已签收:{}",parcelListEntity.getOrderPackageCode());
if (OrderPackageStatusConstant.yiqianshou.getValue().equals(parcelListEntity.getOrderPackageStatus())) {
log.info("司机一键签收 >>>>>包件已签收:{}", parcelListEntity.getOrderPackageCode());
continue;
}
//查询是否进行装车
@ -5448,6 +5457,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
distributionSignforEntity.setDriverRemarks(distributionSignfor.getDriverRemarks());
}
this.updateById(distributionSignforEntity);
bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + "reservationId:", distributionSignfor.getReservationId(),60L);
return R.status(true);
}
@ -6097,8 +6107,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
distributionLoadscanEntity.setSignforType(LoadScanSigningTypeStatusConstant.sijiqianshou.getValue());
distributionLoadscanEntity.setSigningTime(simpleDateFormat.format(new Date()));
distributionLoadscanEntity.setSigningUser(user.getNickName());
loadingNumber += distributionLoadscanEntity.getLoadedNub()+signforEntity.getLoadedNumber();
signingNumber += distributionLoadscanEntity.getReceivedQuantity()+signforEntity.getReceivedQuantity();
loadingNumber += distributionLoadscanEntity.getLoadedNub() + signforEntity.getLoadedNumber();
signingNumber += distributionLoadscanEntity.getReceivedQuantity() + signforEntity.getReceivedQuantity();
//进行签收数量的统计
distributionLoadscanService.updateById(distributionLoadscanEntity);
JSONObject jsonObject = new JSONObject();
@ -6445,13 +6455,15 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
}
@Override
public Boolean clerkCheckPushData(Long id) {
public Map<String, Object> clerkCheckPushData(Long id) {
Map<String, Object> resultMap = new HashMap<>();
try {
log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 推送老系统签收队列");
//得到审核的任务ID
if (ObjectUtil.isEmpty(id)) {
log.info(">>>>>>>>>>>>> clerkCheckPushDataHandler 签收ID为空");
return false;
resultMap.put("result", false);
return resultMap;
}
//得到签收对象
@ -6461,20 +6473,29 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
if (ObjectUtil.isEmpty(distributionSignforEntity)) {
log.info(">>>>>>>>>>>> clerkCheckPushDataHandler distributionSignforEntity {}", distributionSignforEntity);
return false;
resultMap.put("result", false);
resultMap.put("msg", "没有签收对象 distributionSignforEntity");
return resultMap;
}
// 得到配送计划
DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(distributionSignforEntity.getDeliveryId());
if (ObjectUtil.isEmpty(distributionDeliveryListEntity)) {
log.info(">>>>>>>>>>> clerkCheckPushDataHandler distributionDeliveryListEntity {}", distributionDeliveryListEntity);
return false;
resultMap.put("result", false);
resultMap.put("msg", "没有配送计划 distributionDeliveryListEntity");
return resultMap;
}
// 得到配送客户
DistributionReservationEntity distributionReservationEntity = distributionReservationMapper.selectById(distributionSignforEntity.getReservationId());
if (ObjectUtil.isEmpty(distributionReservationEntity)) {
log.info(">>>>>>>>>>>> clerkCheckPushDataHandler distributionReservationEntity {}", distributionReservationEntity);
return false;
resultMap.put("result", false);
resultMap.put("msg", "没有配送客户 distributionReservationEntity");
return resultMap;
}
@ -6536,30 +6557,31 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
List<SignPushDataUnitDTO> pushOldPackageLoading = distributionSignforMapper.selectPushOldPackageLoading(distributionSignforEntity.getReservationId(), distributionSignforEntity.getDeliveryId());
List<SignPushDataUnitDTO> pushOldPackageSigning = distributionSignforMapper.selectPushOldPackageSigning(distributionSignforEntity.getReservationId(), distributionSignforEntity.getDeliveryId());
if (Func.isNotEmpty(pushOldPackageLoading)) {
pushOldPackageLoading = handleSignPushDataUnitDTOList(pushOldPackageLoading);
buildNameAndPhone(pushOldPackageLoading);
signPushDataUnitDTOS.addAll(pushOldPackageLoading);
}
if (Func.isNotEmpty(pushOldPackageSigning)) {
pushOldPackageSigning = handleSignPushDataUnitDTOList(pushOldPackageSigning);
buildNameAndPhone(pushOldPackageSigning);
signPushDataUnitDTOS.addAll(pushOldPackageSigning);
}
}
// if (distributionReservationEntity.getReservationStockListNum() > 0) {
//
// //查询库存品扫描签收
// List<SignPushDataUnitDTO> loadingPushOldInventory = distributionSignforMapper.selectLoadingPushOldInventory(distributionSignforEntity.getReservationId(), distributionSignforEntity.getDeliveryId());
// List<SignPushDataUnitDTO> signingPushOldInventory = distributionSignforMapper.selectSigningPushOldInventory(distributionSignforEntity.getReservationId(), distributionSignforEntity.getDeliveryId());
// if (Func.isNotEmpty(loadingPushOldInventory)) {
// buildNameAndPhone(loadingPushOldInventory);
// signPushDataUnitDTOS.addAll(loadingPushOldInventory);
// }
//
// if (Func.isNotEmpty(signingPushOldInventory)) {
// buildNameAndPhone(signingPushOldInventory);
// signPushDataUnitDTOS.addAll(signingPushOldInventory);
// }
// }
if (distributionReservationEntity.getReservationStockListNum() > 0) {
//查询是否存在转的库存品
List<SignPushDataUnitDTO> pushOldInventoryPackageLoading = distributionSignforMapper.selectPushOldInventoryPackageLoading(distributionSignforEntity.getReservationId(), distributionSignforEntity.getDeliveryId());
List<SignPushDataUnitDTO> pushOldInventoryPackageSigning = distributionSignforMapper.selectPushOldInventoryPackageSigning(distributionSignforEntity.getReservationId(), distributionSignforEntity.getDeliveryId());
if (Func.isNotEmpty(pushOldInventoryPackageLoading)) {
buildNameAndPhone(pushOldInventoryPackageLoading);
signPushDataUnitDTOS.addAll(pushOldInventoryPackageLoading);
}
if (Func.isNotEmpty(pushOldInventoryPackageSigning)) {
buildNameAndPhone(pushOldInventoryPackageSigning);
signPushDataUnitDTOS.addAll(pushOldInventoryPackageSigning);
}
}
//查询签收图片
List<DistributionSignPrintVO> distributionSignPrintVOS = distributionSignforMapper.selectSignImgsUrl(distributionReservationEntity.getId());
@ -6582,14 +6604,38 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
log.info(">>>> clerkCheckPushData SignPushDataDTO :{}", delivery);
Boolean b = oldSystemDataPushClient.pushOldSystemSignInfo(delivery);
return b;
resultMap = oldSystemDataPushClient.pushOldSystemSignInfo(delivery);
return resultMap;
} catch (Exception e) {
resultMap.put("result", false);
resultMap.put("msg", "数据准备错误"+e.getMessage());
log.error(">>>>> 推送老系统签收信息报错", e);
}
return resultMap;
return false;
}
private List<SignPushDataUnitDTO> handleSignPushDataUnitDTOList(List<SignPushDataUnitDTO> pushOldPackageLoading) {
pushOldPackageLoading.stream().forEach(k->{
if (k.getGoods_type() == 3){
String unitNo = k.getUnitNo();
int indexOfUnitNo = unitNo.lastIndexOf("-");
if (indexOfUnitNo>0){
unitNo.substring(indexOfUnitNo);
k.setUnitNo(unitNo);
}
String orderSelfNum = k.getOrderSelfNum();
int indexOfOrderSelfNum = orderSelfNum.lastIndexOf("-");
if (indexOfUnitNo>0){
orderSelfNum.substring(indexOfUnitNo);
k.setOrderSelfNum(orderSelfNum);
}
}
});
return pushOldPackageLoading;
}
@Override
@ -6747,7 +6793,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
}
List<DistributionAddvaluePackageDTO> list = new ArrayList<>();
if (!addvaluePackageVOS.isEmpty()) {
addvaluePackageVOS.forEach(a->{
addvaluePackageVOS.forEach(a -> {
DistributionAddvaluePackageDTO dto = Func.copy(a, DistributionAddvaluePackageDTO.class);
list.add(dto);
});
@ -6756,6 +6802,158 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
return list;
}
@Override
public Map<String, Object> clerkInventoryCheckPushData(String orderPackageCode) {
Map<String,Object> resultMap = new HashMap<>();
try {
//查询此包件
List<DistributionLoadscaninvnEntity> loadscaninvnEntityList = distributionLoadscaninvnService.list(Wrappers.<DistributionLoadscaninvnEntity>query().lambda()
.eq(DistributionLoadscaninvnEntity::getOrderPackageCode, orderPackageCode)
.ne(DistributionLoadscaninvnEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())
);
if (!loadscaninvnEntityList.isEmpty()) {
//未进行装车
resultMap.put("result", false);
resultMap.put("msg", orderPackageCode+"没有装车扫描记录");
return resultMap;
}
if (loadscaninvnEntityList.size()>1) {
//存在多个记录
resultMap.put("result", false);
resultMap.put("msg", orderPackageCode+"存在多个装车扫描记录");
return resultMap;
}
DistributionLoadscaninvnEntity loadscaninvnEntity = loadscaninvnEntityList.get(0);
//查询signfor
DistributionSignforEntity signforEntity = this.getOne(Wrappers.<DistributionSignforEntity>query().lambda()
.eq(DistributionSignforEntity::getReservationId, loadscaninvnEntity.getReservationId())
);
if (Func.isEmpty(signforEntity)) {
//存在多个记录
resultMap.put("result", false);
resultMap.put("msg", orderPackageCode+"查询signfor数据错误,id:"+loadscaninvnEntity.getReservationId());
return resultMap;
}
// 得到配送计划
DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(loadscaninvnEntity.getDeliveryId());
if (ObjectUtil.isEmpty(distributionDeliveryListEntity)) {
log.info(">>>>>>>>>>> clerkCheckPushDataHandler distributionDeliveryListEntity {}", distributionDeliveryListEntity);
resultMap.put("result", false);
resultMap.put("msg", "没有配送计划 distributionDeliveryListEntity");
return resultMap;
}
// 得到配送客户
DistributionReservationEntity distributionReservationEntity = distributionReservationMapper.selectById(loadscaninvnEntity.getReservationId());
if (ObjectUtil.isEmpty(distributionReservationEntity)) {
log.info(">>>>>>>>>>>> clerkCheckPushDataHandler distributionReservationEntity {}", distributionReservationEntity);
resultMap.put("result", false);
resultMap.put("msg", "没有配送客户 distributionReservationEntity");
return resultMap;
}
//组合配送信息
SignPushDataDTO delivery = distributionDeliveryListMapper.selectPushOldDelivery(loadscaninvnEntity.getReservationId(), loadscaninvnEntity.getDeliveryId());
WarehouseEntity warehouseEntity = warehouseClient.findByName(distributionReservationEntity.getWarehouseName());
if (ObjectUtils.isNotNull(warehouseEntity)) {
// 需要增加老系统的仓库ID
delivery.setWarehouseId(Long.parseLong(warehouseEntity.getId() + ""));
delivery.setWarehouseName(warehouseEntity.getTitle());
}
//还需要配送的出库人、配送人、操作人信息
if (Func.isNotEmpty(delivery)) {
if ("1".equals(delivery.getKind())) {
//自主配送
DistributionDeliverySelfEntity distributionDeliverySelfEntity = distributionDeliverySelfMapper.selectOne(Wrappers.<DistributionDeliverySelfEntity>query().lambda()
.eq(DistributionDeliverySelfEntity::getDeliveryId, delivery.getId())
.eq(DistributionDeliverySelfEntity::getIsMaster, 2)
);
if (Func.isNotEmpty(distributionDeliverySelfEntity)) {
delivery.setOutId(Long.parseLong(distributionDeliverySelfEntity.getDriverId()));
delivery.setOutName(distributionDeliverySelfEntity.getDriverName());
delivery.setOutPhone(distributionDeliverySelfEntity.getDriverPhone());
}
} else {
//外协
DistributionDeliveryTripartiteEntity distributionDeliveryTripartiteEntity = distributionDeliveryTripartiteMapper.selectOne(Wrappers.<DistributionDeliveryTripartiteEntity>query().lambda().eq(DistributionDeliveryTripartiteEntity::getDeliveryId, delivery.getId()));
if (Func.isNotEmpty(distributionDeliveryTripartiteEntity)) {
delivery.setOutName(distributionDeliveryTripartiteEntity.getDriverName());
delivery.setOutPhone(distributionDeliveryTripartiteEntity.getDriverPhone());
}
}
R<User> userR = userClient.userInfoById(delivery.getAdministratorsId());
if (Func.isNotEmpty(userR)) {
User user = userR.getData();
delivery.setAdministratorsName(user.getName());
delivery.setAdministratorsPhone(user.getPhone());
}
DistributionStockupEntity distributionStockupEntity = distributionReservationMapper.selectStockup(loadscaninvnEntity.getReservationId());
if (Func.isNotEmpty(distributionStockupEntity)) {
if (distributionStockupEntity.getAssignStatus().equals(StockAssignStatusConstant.yizhipai.getValue())) {
delivery.setOutToId(distributionStockupEntity.getStockupUserId());
delivery.setOutToName(distributionStockupEntity.getStockupUser());
}
}
//查询客户信息
List<SignPushDataContactDTO> customer = distributionReservationMapper.selectPushOldCustomer(loadscaninvnEntity.getReservationId());
if (Func.isNotEmpty(customer)) {
//查询客户订单
List<SignPushDataUnitDTO> signPushDataUnitDTOS = new ArrayList<>();
if (distributionReservationEntity.getReservationStockListNum() > 0) {
//查询包件扫描签收
//查询包件扫描签收
List<SignPushDataUnitDTO> pushOldInventoryPackageLoading = distributionSignforMapper.selectPushOldSingleInventoryPackageLoading(loadscaninvnEntity.getReservationId(), loadscaninvnEntity.getDeliveryId(),orderPackageCode);
List<SignPushDataUnitDTO> pushOldInventoryPackageSigning = distributionSignforMapper.selectPushOldSingleInventoryPackageSigning(loadscaninvnEntity.getReservationId(), loadscaninvnEntity.getDeliveryId(),orderPackageCode);
if (Func.isNotEmpty(pushOldInventoryPackageLoading)) {
buildNameAndPhone(pushOldInventoryPackageLoading);
signPushDataUnitDTOS.addAll(pushOldInventoryPackageLoading);
}
if (Func.isNotEmpty(pushOldInventoryPackageSigning)) {
buildNameAndPhone(pushOldInventoryPackageSigning);
signPushDataUnitDTOS.addAll(pushOldInventoryPackageSigning);
}
}
//查询签收图片
List<DistributionSignPrintVO> distributionSignPrintVOS = distributionSignforMapper.selectSignImgsUrl(distributionReservationEntity.getId());
if (Func.isNotEmpty(signPushDataUnitDTOS)) {
SignPushDataContactDTO signPushDataContactDTO = customer.get(0);
signPushDataContactDTO.setSignPushDataUnitDTOs(signPushDataUnitDTOS);
if (Func.isNotEmpty(distributionSignPrintVOS)) {
String urls = distributionSignPrintVOS.stream().map(DistributionSignPrintVO::getUrlRoute).collect(Collectors.joining(","));
signPushDataContactDTO.setImage(urls);
}
if (Func.isNotEmpty(signforEntity.getClerkSignRemarks())) {
signPushDataContactDTO.setContact(signforEntity.getClerkSignRemarks());
}
}
buildReservationNameAndPhone(customer);
//完成客户信息添加
delivery.setSignPushDataContactDTOs(customer);
}
}
log.info(">>>> clerkCheckPushData SignPushDataDTO :{}", delivery);
resultMap = oldSystemDataPushClient.pushOldSystemSignInfo(delivery);
return resultMap;
}catch (Exception e) {
resultMap.put("result", false);
resultMap.put("msg", "数据准备错误"+e.getMessage());
log.error(">>>>> 推送老系统签收信息报错", e);
}
resultMap.put("result", false);
resultMap.put("msg", "未知错误");
return resultMap;
}
private void buildNameAndPhone(List<SignPushDataUnitDTO> pushOldPackageSigning) {
for (SignPushDataUnitDTO signPushDataUnitDTO : pushOldPackageSigning) {
User user = bladeRedis.get(RedisKeyConstant.USER_NAME_PHONE_KEY + signPushDataUnitDTO.getAdministratorsId());
@ -6853,11 +7051,11 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
if (k.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue())
&& k.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())) {
String content = "包件在" + warehouse.getName() + "由" + user.getNickName() + "完成复核,配送车次号:" + trainNumber + "预约任务号:" + reservationEntity.getReservationCode();
JSONObject js = handleLogJSONObject(warehouse, AuthUtil.getUser(), k.getOrderPackageCode(), content, WorkNodeEnums.CLERK_REVIEW.getCode(),trainNumber,new Date());
JSONObject js = handleLogJSONObject(warehouse, AuthUtil.getUser(), k.getOrderPackageCode(), content, WorkNodeEnums.CLERK_REVIEW.getCode(), trainNumber, new Date());
aaa.add(js);
} else {
String content = "包件在" + warehouse.getName() + "由" + user.getNickName() + "复核取消计划无操作包件,配送车次号:" + trainNumber + "预约任务号:" + reservationEntity.getReservationCode();
JSONObject js = handleLogJSONObject(warehouse, AuthUtil.getUser(), k.getOrderPackageCode(), content, WorkNodeEnums.CANCEL_DISTRIBUTION.getCode(),trainNumber,new Date());
JSONObject js = handleLogJSONObject(warehouse, AuthUtil.getUser(), k.getOrderPackageCode(), content, WorkNodeEnums.CANCEL_DISTRIBUTION.getCode(), trainNumber, new Date());
aaa.add(js);
}
});
@ -6927,8 +7125,6 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
}
private JSONObject handleLogJSONObject(BasicdataWarehouseEntity warehouse, BladeUser user, String orderPackageCode, String content, Integer node, String trainNumber, Date warehouseEntryTimeEnd) {
JSONObject trunklinePackageTrackLog = new JSONObject();
trunklinePackageTrackLog.put("tenantId", user.getTenantId());
@ -6951,6 +7147,4 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
}
}

9
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

@ -109,6 +109,7 @@ import com.logpm.oldproject.dto.SignPushDataUnitDTO;
import com.logpm.oldproject.feign.IOldSignPushClient;
import com.logpm.trunkline.feign.ITrunklinePackageTrackLogClient;
import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient;
import com.sun.org.apache.xpath.internal.operations.Bool;
import lombok.extern.log4j.Log4j2;
import org.apache.logging.log4j.util.Strings;
import org.jetbrains.annotations.NotNull;
@ -1266,8 +1267,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
// 转换仓库ID
// modifyWarehouseId(delivery);
Boolean b = oldSystemDataPushClient.pushOldSystemSignInfo(delivery);
return b;
Map<String,Object> map = oldSystemDataPushClient.pushOldSystemSignInfo(delivery);
Boolean flag = (Boolean) map.get("result");
return flag;
} catch (Exception e) {
log.error(">>>>> 推送老系统自提签收信息报错", e);
return false;
@ -3575,7 +3577,6 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
List<DistributionBillLadingScanEntity> ladingScanEntities = distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda()
.eq(DistributionBillLadingScanEntity::getBillLadingId, Long.parseLong(s))
.eq(DistributionBillLadingScanEntity::getMaterialType, "2")
);
if (ladingScanEntities.isEmpty()){
return R.fail("无签收数据!!");
@ -3596,7 +3597,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
if (Func.isNotEmpty(ladingScanEntities)) {
int sum = ladingScanEntities.stream().mapToInt(DistributionBillLadingScanEntity::getQuantity).sum();
int sum = ladingScanEntities.stream().filter(f->f.getMaterialType().equals("2")).mapToInt(DistributionBillLadingScanEntity::getQuantity).sum();
// if (sum == 0){
// //未进行任何签收扫描的操作这里需要进行拦截
// throw new ServiceException("无签收数据");

11
blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/mq/NodeDataPushListener.java

@ -328,23 +328,24 @@ public class NodeDataPushListener {
HttpRequest post = HttpUtil.createPost(mengTianProperties.getHost() + url);
post.header("ClientId", "mt.ht");
post.header("OperationCode", operationCode);
post.timeout(5000);
post.timeout(30000);
post.body(body);
// 存入日志表
entity.setContent(body);
entity.setOperationCode(operationCode);
entity.setSendUrl(mengTianProperties.getHost() + url);
String resBody = "";
try {
HttpResponse execute = post.execute();
String resBody = execute.body();
resBody = execute.body();
log.info("推送工厂结果:{}", resBody);
JSONObject entries = JSONUtil.parseObj(resBody);
String resultCode = entries.getStr("Result");
entity.setResultContent(resBody);
entity.setSendStatus(StrUtil.isEmpty(resultCode) ? "0" : resultCode);
entity.setSendStatus(StrUtil.isEmpty(resultCode) ? "-1" : resultCode);
} catch (Exception e) {
entity.setResultContent(e.getMessage());
entity.setSendStatus("0");
entity.setResultContent(resBody);
entity.setSendStatus("-1");
}
factoryNodePushService.save(entity);
}

15
blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/FactoryXxlJob.java

@ -151,12 +151,7 @@ public class FactoryXxlJob {
List<StaorderPackagesEntity> staorderPackagesEntityList = (List<StaorderPackagesEntity>) map.get(StaorderPackagesEntity.class.getName());
Set<String> existingPackageNumbers = new HashSet<>();
if (staorderPackagesEntityList != null) {
for (StaorderPackagesEntity staorderPackagesEntity : staorderPackagesEntityList) {
existingPackageNumbers.add(staorderPackagesEntity.getPackagenum());
}
}
List<StationOrderEntity> finalDataList = dataList;
List<StaorderPackagesEntity> filteredStaorderPackagesEntityList = staorderPackagesEntityList.stream()
@ -168,7 +163,7 @@ public class FactoryXxlJob {
boolean exists = list.stream()
.anyMatch(t -> t.getPackagenum().equals(staorderPackagesEntity.getPackagenum()));
log.info("staorderPackagesEntity.getPackagenum() {}", staorderPackagesEntity.getPackagenum());
log.info("exists", exists);
log.info("exists {}" , exists);
if (!exists) {
// 更新订单ID
for (StationOrderEntity v : finalDataList) {
@ -177,9 +172,9 @@ public class FactoryXxlJob {
}
}
}
log.info("existingPackageNumbers {}", existingPackageNumbers);
return !exists && !existingPackageNumbers.contains(staorderPackagesEntity.getPackagenum());
boolean isExist = !exists ;
log.info("isExist {}", isExist);
return isExist;
})
.collect(Collectors.toList());

11
blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/SignPushClient.java

@ -26,11 +26,11 @@ public class SignPushClient implements IOldSignPushClient {
@Autowired
private OldSystemProperties oldSystemProperties;
@Override
public Boolean pushOldSystemSignInfo(SignPushDataDTO signPushDataDTO) {
public Map<String,Object> pushOldSystemSignInfo(SignPushDataDTO signPushDataDTO) {
//todo 这里存在调用老系统的接口 将数据会写给老系统
int timeoutMilliseconds = 60000;
Map<String,Object> resultMap = new HashMap<>();
Boolean result =false;
log.info(">>>> pushOldSystemSignInfo 程序执行 start time: {}",System.currentTimeMillis());
String authCode = oldLogin(signPushDataDTO.getWarehouseId()+"");
@ -41,21 +41,24 @@ public class SignPushClient implements IOldSignPushClient {
log.info(">>>> pushOldSystemSignInfo request url:{} data:{}",url,data);
String body = HttpRequest.post(url).body(data).header("token", authCode).setConnectionTimeout(timeoutMilliseconds).execute().body();
log.info(">>>> pushOldSystemSignInfo body :{}",body);
if (StringUtil.isNotBlank(body)) {
JSONObject res = JSON.parseObject(body);
if ("200".equals(res.getString("code"))) {
result= true;
}else {
String msg = res.getString("msg");
resultMap.put("msg",msg);
log.info(">>>> pushOldSystemSignInfo response msg:{}",msg);
log.info(">>>> pushOldSystemSignInfo 推送配送ID signPushDataDTO ID:{}",signPushDataDTO.getId());
}
}
log.info(">>>> pushOldSystemSignInfo response url:{} body:{}",url,body);
log.info(">>>> pushOldSystemSignInfo 程序执行 end time : {} >> return result :{} ",System.currentTimeMillis(),result);
resultMap.put("result",result);
return result;
return resultMap;
}
@Override

134
blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/DistributionDatarepair.java

@ -82,20 +82,22 @@ public class DistributionDatarepair {
Map<Long, List<DistributionParcelListEntity>> packageMap = deliveryParcelListEntities.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getWarehouseId));
packageMap.forEach((k, v) -> {
String orderPackageCodes = v.stream().map(DistributionParcelListEntity::getOrderPackageCode).collect(Collectors.joining(","));
stringBuffer.append("仓库:"+k).append("包件下架"+orderPackageCodes);;
Map<String,Object> map = new HashMap<>();
map.put("orderPackageCode",orderPackageCodes);
map.put("warehouseId",k);
stringBuffer.append("仓库:" + k).append("包件下架" + orderPackageCodes);
;
Map<String, Object> map = new HashMap<>();
map.put("orderPackageCode", orderPackageCodes);
map.put("warehouseId", k);
warehouseUpdownTypeClient.downDeliveryPackage(map);
});
}
log.info("执行包件下架操作>>>>>>>>>>>>>"+stringBuffer.toString());
log.info("执行包件下架操作>>>>>>>>>>>>>" + stringBuffer.toString());
return ReturnT.SUCCESS;
}
/**
* 对已签收包件进行解托
*
* @return
*/
@XxlJob("downTrayOldPackage")
@ -108,144 +110,187 @@ public class DistributionDatarepair {
Map<Long, List<DistributionParcelListEntity>> packageMap = deliveryParcelListEntities.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getWarehouseId));
packageMap.forEach((k, v) -> {
String orderPackageCodes = v.stream().map(DistributionParcelListEntity::getOrderPackageCode).collect(Collectors.joining(","));
stringBuffer.append("仓库:"+k).append("包件解托"+orderPackageCodes);;
warehouseUpdownTypeClient.downPackageOrDelTray(orderPackageCodes, k,"签收下架解托");
stringBuffer.append("仓库:" + k).append("包件解托" + orderPackageCodes);
;
warehouseUpdownTypeClient.downPackageOrDelTray(orderPackageCodes, k, "签收下架解托");
});
}
log.info("执行包件下架操作>>>>>>>>>>>>>"+stringBuffer.toString());
log.info("执行包件下架操作>>>>>>>>>>>>>" + stringBuffer.toString());
return ReturnT.SUCCESS;
}
/**
* 维护配送状态
*
* @return
*/
@XxlJob("maintenanceDeliveryStatus")
public ReturnT<String> maintenanceDeliveryStatus(String params) {
//维护配送的状态
String method = "######################DistributionDatarepair.maintenanceDeliveryStatus";
log.info(method+"维护配送订单id:{}",params);
log.info(method + "维护配送订单id:{}", params);
deliveryListClient.maintenanceDeliveryInfo(params);
log.info(method+"维护配送订单结束");
log.info(method + "维护配送订单结束");
return ReturnT.SUCCESS;
}
/**
* 维护预约单信息
*
* @return
*/
@XxlJob("maintenanceReservationInfo")
public ReturnT<String> maintenanceReservationInfo(String params) {
//维护配送的状态
String method = "######################DistributionDatarepair.maintenanceDeliveryStatus";
log.info(method+"维护配送订单id:{}",params);
log.info(method + "维护配送订单id:{}", params);
distributionReservationClient.maintenanceReservationInfo(params);
log.info(method+"维护配送订单结束");
log.info(method + "维护配送订单结束");
return ReturnT.SUCCESS;
}
/**
* 维护指定取消预约信息
*
* @return
*/
@XxlJob("maintenanceCancelReservation")
public ReturnT<String> maintenanceCancelReservation(String params) {
//维护配送的状态
String method = "######################DistributionDatarepair.maintenanceDeliveryStatus";
log.info(method+"维护配送订单id:{}",params);
log.info(method + "维护配送订单id:{}", params);
distributionReservationClient.maintenanceCancelReservation(params);
log.info(method+"维护配送订单结束");
log.info(method + "维护配送订单结束");
return ReturnT.SUCCESS;
}
/**
* 维护指定取消预约信息
*
* @return
*/
@XxlJob("maintenanceDeliveryInfo")
public ReturnT<String> maintenanceDeliveryInfo(String params) {
//维护配送的状态
String method = "######################DistributionDatarepair.maintenanceDeliveryStatus";
log.info(method+"维护配送订单id:{}",params);
log.info(method + "维护配送订单id:{}", params);
deliveryListClient.maintenanceDeliveryInfoByWarehouseId(params);
log.info(method+"维护配送订单结束");
log.info(method + "维护配送订单结束");
return ReturnT.SUCCESS;
}
/**
* 推送老系统系统
*
* @return
*/
@XxlJob("pushNotification")
public ReturnT<String> pushNotification(String params) {
// 得到当前仓库所有的签收任务
Integer parmeId = null;
if(StringUtil.isNotBlank(params)){
if (StringUtil.isNotBlank(params)) {
parmeId = Integer.parseInt(params);
}
List<JSONObject> allSignfor = warehouseMappingDataMapper.findAllSignfor(parmeId);
for (JSONObject entries : allSignfor) {
Long id = entries.getLong("singnforId");
Boolean b = distributionSignforClient.clerkCheckPushData(id);
if(b!=null&&b){
Map<String, Object> map = distributionSignforClient.clerkCheckPushData(id);
log.info(">>> 推送反馈信息 map :{}",map);
Boolean b = (Boolean) map.get("result");
if (b != null && b) {
warehouseMappingDataMapper.updateClearSignforStatus(id, entries.getLong("warehouseId"), 1);
log.info(">>> 推送成功 {}",id);
}else{
log.error(">>> 推送失败 id="+id);
log.info(">>> 推送成功 {}", id);
} else {
String remarks = (String) map.get("msg");
//进行错误记录
if(StringUtil.isBlank(remarks)){
remarks="超时";
}
warehouseMappingDataMapper.updateClearSignforRemarks(id, remarks);
log.error(">>> 推送失败 id=" + id);
}
}
return ReturnT.SUCCESS;
}
/**
* 推送单个 老系统系统
*
* @return
*/
@XxlJob("pushSingleNotification")
public ReturnT<String> pushSingleNotification(String params) {
Boolean b = distributionSignforClient.clerkCheckPushData(Long.parseLong(params));
if(b!=null&&b){
warehouseMappingDataMapper.updateClearSignforStatusBysignforId(Long.parseLong(params), 1);
log.info(">>> 推送成功 {}",Long.parseLong(params));
}else{
log.error(">>> 推送失败 id="+Long.parseLong(params));
}
Map<String, Object> map = distributionSignforClient.clerkCheckPushData(Long.parseLong(params));
Long id = Long.parseLong(params);
Boolean b = (Boolean) map.get("result");
log.info(">>> 推送反馈信息 map :{}",map);
if (b != null && b) {
warehouseMappingDataMapper.updateClearSignforStatusBysignforId(Long.parseLong(params), 1);
log.info(">>> 推送成功 {}", Long.parseLong(params));
} else {
String remarks = (String) map.get("msg");
warehouseMappingDataMapper.updateClearSignforRemarks(id, remarks);
log.error(">>> 推送失败 id=" + Long.parseLong(params));
}
return ReturnT.SUCCESS;
}
/**
* 转库存品包件推送老系统
*订单自编号
* @return
*/
@XxlJob("pushInventorySingleNotification")
public ReturnT<String> pushInventorySingleNotification(String params) {
Map<String, Object> map = distributionSignforClient.clerkInventoryCheckPushData(params);
Long id = Long.parseLong(params);
Boolean b = (Boolean) map.get("result");
log.info(">>> 推送反馈信息 map :{}",map);
if (b != null && b) {
warehouseMappingDataMapper.updateClearSignforStatusBysignforId(Long.parseLong(params), 1);
log.info(">>> 推送成功 {}", Long.parseLong(params));
} else {
String remarks = (String) map.get("msg");
warehouseMappingDataMapper.updateClearSignforRemarks(id, remarks);
log.error(">>> 推送失败 id=" + Long.parseLong(params));
}
return ReturnT.SUCCESS;
}
/**
* 推送自提签收老系统系统
*
* @return
*/
@XxlJob("pushBillNotification")
public ReturnT<String> pushBillNotification(String params) {
// 得到当前仓库所有的签收任务
Long parmeId = null;
if(StringUtil.isNotBlank(params)){
if (StringUtil.isNotBlank(params)) {
parmeId = Long.parseLong(params);
}
List<JSONObject> allSignfor = warehouseMappingDataMapper.findAllBillSign(parmeId);
for (JSONObject entries : allSignfor) {
try {
Long id = entries.getLong("billId");
Boolean b =distrilbutionBillLadingClient.clerkBillCheckPushData(id);
if(b!=null&&b){
Boolean b = distrilbutionBillLadingClient.clerkBillCheckPushData(id);
if (b != null && b) {
warehouseMappingDataMapper.updateClearBillSignforStatus(entries.getLong("id"), entries.getLong("warehouseId"), 1);
log.info(">>> pushBillNotification 成功 id={}",id);
}else{
log.error(">>> pushBillNotification 失败 id="+id);
log.info(">>> pushBillNotification 成功 id={}", id);
} else {
log.error(">>> pushBillNotification 失败 id=" + id);
}
Thread.sleep(1000*60);
Thread.sleep(1000 * 60);
} catch (InterruptedException e) {
throw new RuntimeException(e);
} finally {
@ -257,22 +302,17 @@ public class DistributionDatarepair {
}
/**
* 推送自提签收信息至工厂
*
* @return
*/
@XxlJob("sendFactorySignforInfo")
public ReturnT<String> sendFactorySignforInfo(String params) {
// 得到当前仓库所有的签收任务
Boolean b =distrilbutionBillLadingClient.sendFactorySignforInfo(params);
Boolean b = distrilbutionBillLadingClient.sendFactorySignforInfo(params);
return ReturnT.SUCCESS;
}
}

7
blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.java

@ -123,5 +123,12 @@ public interface WarehouseMappingDataMapper {
List<StockAllocationInfoVO> findStockAllocationInfo();
void updateClearSignforStatusBysignforId(@Param("singnforId")Long singnforId, @Param("dealStatus") Integer dealStatus);
/**
* 修改备注
* @param id
* @param remarks
*/
void updateClearSignforRemarks(@Param("singnforId")Long id,@Param("remarks") String remarks);
}

5
blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.xml

@ -354,6 +354,11 @@
set deal_status = #{dealStatus}
where singnfor_id = #{singnforId}
</update>
<update id="updateClearSignforRemarks">
update clear_singnfor_status_record
set remarks = #{remarks}
where singnfor_id= #{singnforId}
</update>
<select id="findPackageTraysInfo" resultType="com.logpm.patch.vo.PackageTrayInfoVO">
select lwtg.association_value orderPackageCode,

3
blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/AsyncServiceImpl.java

@ -74,7 +74,8 @@ public class AsyncServiceImpl implements IAsyncService {
// 当前第几次查询
int current = finalNum + 1;
// 当前查询需要查询几条数据
long lastNum = remaindNum > pageSize ? pageSize : remaindNum;
// long lastNum = remaindNum > pageSize ? pageSize : remaindNum;
long lastNum = pageSize;
// 分页查询对象
Page<T> page = new Page(current, lastNum);
// 执行查询操作返回数据

2
blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportDeliverServiceImpl.java

@ -196,7 +196,7 @@ public class ReportDeliverServiceImpl implements ReportDeliverService {
trainCustomQuery(query, queryWrapper);
// 仓库权限
ReportUtil.buildReportWarehouseAuth(vo.getWarehouseName(), query.getWarehouseNameRange(), queryWrapper, warehouseClient);
reportExcelUtil.export(response, deliveryTrainReader, ReportDevilerVO.class, queryWrapper, "配送车次维度报表",20L, ReportExcelUtil.SHEETDATANUM);
reportExcelUtil.export(response, deliveryTrainReader, ReportDevilerVO.class, queryWrapper, "配送车次维度报表",1000L, ReportExcelUtil.SHEETDATANUM);
}
@Override

13
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/ExecutorConfig.java

@ -1,6 +1,7 @@
package com.logpm.warehouse.config;
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.MDC;
import org.springblade.core.secure.utils.AuthUtil;
@ -66,7 +67,17 @@ public class ExecutorConfig {
RequestContextHolder.setRequestAttributes(context);
// 未当前的异步线程绑定租户ID 和切换数据源
log.info(">>>> 异步线程创建,绑定租户数据源 {}",tenantId);
DynamicDataSourceContextHolder.push(tenantId);
log.info(">>>> 异步线程创建,绑定租户数据源 {}",tenantId);
if(StringUtils.isBlank(tenantId)){
//这里为null 存在问题
log.info(">>>> 异步线程创建,没有用户信息 {}",AuthUtil.getUserId());
log.info(">>>> 异步线程创建,没有用户信息 {}",AuthUtil.getUser());
log.info(">>>> 异步线程创建,没有用户信息 {}",context);
DynamicDataSourceContextHolder.push("627683");
}else{
// 未当前的异步线程绑定租户ID 和切换数据源
DynamicDataSourceContextHolder.push(tenantId);
}
runnable.run();
} finally {
RequestContextHolder.resetRequestAttributes();

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

@ -472,6 +472,7 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
}
//存入零担订单包件数量
distributionParcelNumberClient.addBatch(parcelNumberList);
//TODO 日志增加
}
}
distributionStockArticleClient.submitHandleNumAndTotalNumberByOrderId(subNum, articleId);

Loading…
Cancel
Save