Browse Source

Merge branch 'pre-production'

# Conflicts:
#	blade-biz-common/src/main/java/org/springblade/common/constant/OldSystemDataPushConfig.java
master
pref_mail@163.com 6 months ago
parent
commit
534c693431
  1. 3
      blade-biz-common/src/main/java/org/springblade/common/constant/OldSystemDataPushConfig.java
  2. 18
      blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataDriverArteryEntity.java
  3. 5
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/QualityDeliverEntity.java
  4. 4
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupVO.java
  5. 6
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/ImportCustomizedOuPaiDTO.java
  6. 12
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/ImportStandardOuPaiDTO.java
  7. 5
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/LoadCarsDTO.java
  8. 41
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineAdvanceMergeEntity.java
  9. 12
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineCarsLoadLineEntity.java
  10. 18
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineCarsLoadLinePhotoEntity.java
  11. 4
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineCarsLoadVO.java
  12. 10
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataDriverArteryController.java
  13. 6
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/dto/BasicdataVehicleDTO.java
  14. 33
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.java
  15. 351
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.xml
  16. 128
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataVehicleServiceImpl.java
  17. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml
  18. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml
  19. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml
  20. 107
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml
  21. 85
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java
  22. 9
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java
  23. 22
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java
  24. 14
      blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportDeliveryController.java
  25. 2
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/BillDataMapper.xml
  26. 6
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/IndexCountMapper.xml
  27. 3
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapeer.java
  28. 66
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml
  29. 43
      blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryDetailV2Reader.java
  30. 2
      blade-service/logpm-report/src/main/java/com/logpm/report/service/IAsyncService.java
  31. 5
      blade-service/logpm-report/src/main/java/com/logpm/report/service/ReportDeliverService.java
  32. 5
      blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/AsyncServiceImpl.java
  33. 27
      blade-service/logpm-report/src/main/java/com/logpm/report/service/impl/ReportDeliverServiceImpl.java
  34. 221
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/CarsLoadController.java
  35. 18
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceMapper.xml
  36. 9
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceMergeMapper.java
  37. 4
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.xml
  38. 15
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadLinePhotoMapper.java
  39. 34
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadLinePhotoMapper.xml
  40. 13
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.xml
  41. 4
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineLoadSignOrderMapper.xml
  42. 7
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceMergeService.java
  43. 12
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadLinePhotoService.java
  44. 14
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java
  45. 80
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java
  46. 16
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceMergeServiceImpl.java
  47. 28
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadLinePhotoEntityServiceImpl.java
  48. 638
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java
  49. 1
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseWarehousingEntryController.java
  50. 2
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseRetentionRecordMapper.xml
  51. 2
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseStockMapper.xml
  52. 22
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownGoodsLogMapper.xml
  53. 6
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWarehousingEntryMapper.xml
  54. 1
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseConfigServiceImpl.java
  55. 107
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java

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

@ -97,6 +97,9 @@ public class OldSystemDataPushConfig {
//清远志邦
warehourseIds.add("153");
//兴义仓
warehourseIds.add("155");
//自贡仓
warehourseIds.add("44");
}

18
blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataDriverArteryEntity.java

@ -221,4 +221,22 @@ public class BasicdataDriverArteryEntity extends TenantEntity {
@ApiModelProperty(value = "仓库名称")
private String warehouseName;
/**
* 结算渠道
*/
@ApiModelProperty(value = "结算渠道 1-微信 2-支付宝 3-银行卡 4-现金")
private String settlementChannel ;
/**
* 结算渠道
*/
@ApiModelProperty(value = "结算账号")
private String settlementAccount ;
/**
* 合同
*/
@ApiModelProperty(value = "合同")
private String contract;
}

5
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/QualityDeliverEntity.java

@ -589,6 +589,11 @@ public class QualityDeliverEntity extends TenantEntity {
*/
@ApiModelProperty(value = "滞留时间")
private String retentionTime;
/**
* 滞留数量
*/
@ApiModelProperty(value = "滞留数量")
private Integer retentionNum;
/**
* 配送成本
*/

4
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionStockupVO.java

@ -71,6 +71,10 @@ public class DistributionStockupVO extends DistributionStockupEntity {
private String orderCode; //订单自编号
private String descriptionGoods;
private Integer reservationNum; //预约数量
/**
* 预约编号
*/
private String reservationCode;
private Date stockupDate;
private Integer number;
private String goodsAllocation; //货位

6
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/ImportCustomizedOuPaiDTO.java

@ -16,6 +16,10 @@ public class ImportCustomizedOuPaiDTO implements Serializable {
private String dealerName;
@ExcelProperty(value = "是否干仓配商场")
private String isOupai;
@ExcelProperty(value = "门店编码")
private String storeCode;
@ExcelProperty(value = "门店名称")
private String storeName;
@ExcelProperty(value = "省份")
private String province;
@ExcelProperty(value = "品类")
@ -30,6 +34,8 @@ public class ImportCustomizedOuPaiDTO implements Serializable {
private String thirdsName;
@ExcelProperty(value = "数量")
private String num;
@ExcelProperty(value = "合包码")
private String mergeCode;
@ExcelProperty(value = "订单自编号")
private String orderCode;
@ExcelProperty(value = "服务号")

12
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/ImportStandardOuPaiDTO.java

@ -17,6 +17,9 @@ public class ImportStandardOuPaiDTO implements Serializable {
@ExcelProperty(value = "二级品类名称")
private String sencodsName;
@ExcelProperty(value = "小二级品类名称")
private String smallSencodsName;
@ExcelProperty(value = "三级品类名称")
private String thirdsName;
@ -47,6 +50,9 @@ public class ImportStandardOuPaiDTO implements Serializable {
@ExcelProperty(value = "包体积")
private String volume;
@ExcelProperty(value = "合包码")
private String mergeCode;
@ExcelProperty(value = "车牌")
private String carNumber;
@ -67,6 +73,12 @@ public class ImportStandardOuPaiDTO implements Serializable {
@ExcelProperty(value = "是否干仓配")
private String isOupai;
@ExcelProperty(value = "门店编码")
private String storeCode;
@ExcelProperty(value = "门店名称")
private String storeName;
@ExcelProperty(value = "订单号")
private String order;

5
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/LoadCarsDTO.java

@ -1,5 +1,6 @@
package com.logpm.trunkline.dto;
import com.logpm.trunkline.entity.TrunklineCarsLoadLinePhotoEntity;
import com.logpm.trunkline.entity.TrunklineLoadSignPhotoEntity;
import com.logpm.trunkline.vo.LoadScanFinalNodeIdVO;
import com.logpm.trunkline.vo.ZeroOrderVO;
@ -184,4 +185,8 @@ public class LoadCarsDTO implements Serializable {
private Date signTimeStart;
private Date signTimeEnd;
private List<TrunklineCarsLoadLinePhotoEntity> addUrlList = new ArrayList<>();
private List<Long> removeUrlList = new ArrayList<>();
}

41
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineAdvanceMergeEntity.java

@ -0,0 +1,41 @@
package com.logpm.trunkline.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
@Data
@TableName("logpm_trunkline_advance_merge")
@ApiModel(value = "TrunklineAdvanceMerge对象", description = "暂存单合包码数据表")
@EqualsAndHashCode(callSuper = true)
public class TrunklineAdvanceMergeEntity extends TenantEntity {
/** 预留1 */
@ApiModelProperty(name = "预留1",notes = "")
private String reserve1 ;
/** 预留2 */
@ApiModelProperty(name = "预留2",notes = "")
private String reserve2 ;
/** 预留3 */
@ApiModelProperty(name = "预留3",notes = "")
private String reserve3 ;
/** 预留4 */
@ApiModelProperty(name = "预留4",notes = "")
private String reserve4 ;
/** 预留5 */
@ApiModelProperty(name = "预留5",notes = "")
private String reserve5 ;
@ApiModelProperty(name = "合包码",notes = "")
private String mergeCode ;
@ApiModelProperty(name = "包条码",notes = "")
private String orderPackageCode ;
@ApiModelProperty(name = "订单号",notes = "")
private String orderCode ;
}

12
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineCarsLoadLineEntity.java

@ -169,4 +169,16 @@ public class TrunklineCarsLoadLineEntity extends TenantEntity {
@ApiModelProperty(name = "卸车报告第三段",notes = "")
private String reportThree;
/** 是否有上传装车图片 */
@ApiModelProperty(name = "是否有上传装车图片",notes = "")
private Integer isLoadingPhoto;
/** 是否有上传发车图片 */
@ApiModelProperty(name = "是否有上传发车图片",notes = "")
private Integer isStartPhoto;
/** 是否有上传卸车图片 */
@ApiModelProperty(name = "是否有上传卸车图片",notes = "")
private Integer isUnloadPhoto;
}

18
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineCarsLoadLinePhotoEntity.java

@ -35,10 +35,22 @@ public class TrunklineCarsLoadLinePhotoEntity extends TenantEntity{
/** 车辆配载节点id */
@ApiModelProperty(name = "车辆配载节点id",notes = "")
private Long loadNodeId ;
private Long loadLineId ;
/** 图片类型 1*/
@ApiModelProperty(name = "图片类型",notes = "")
/** 车辆配载节点id */
@ApiModelProperty(name = "仓库id",notes = "")
private Long warehouseId ;
/** 图片类型 1装车 2发车 3卸车*/
@ApiModelProperty(name = "图片类型 10装车 20发车 30卸车",notes = "")
private Integer type ;
/** 位置 1*/
@ApiModelProperty(name = "位置 1前 2后 3左 4右",notes = "")
private Integer position ;
/** 图片类型 1*/
@ApiModelProperty(name = "图片地址",notes = "")
private String url ;
}

4
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineCarsLoadVO.java

@ -54,4 +54,8 @@ public class TrunklineCarsLoadVO extends TrunklineCarsLoadEntity {
private String loadCarsNo;
private String unloadStatus;
private Integer isLoadingPhoto;
private Integer isStartPhoto;
private Integer isUnloadPhoto;
}

10
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataDriverArteryController.java

@ -61,12 +61,7 @@ import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -234,6 +229,9 @@ public class BasicdataDriverArteryController extends BladeController {
if (null != basicdataDriverArtery.getBindVehicles()) {
basicdataDriverArteryService.updateVehicle(basicdataDriverArtery);
}
if (Objects.isNull(basicdataDriverArtery.getSettlementChannel())){
basicdataDriverArtery.setSettlementChannel("");
}
boolean b = basicdataDriverArteryService.updateById(basicdataDriverArtery);
if (b) {
List<Long> warehouseIds = basicdataDriverArtery.getWarehouseIds();

6
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/dto/BasicdataVehicleDTO.java

@ -32,7 +32,11 @@ import lombok.EqualsAndHashCode;
public class BasicdataVehicleDTO extends BasicdataVehicleEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "车辆所属")
private String vehicleOwners;
/**
* 页面类型 0-全部 1-保险临期 2-保险到期 3-年审临期 4-年审到期
*/
private Integer pageType;
}

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

@ -70,4 +70,37 @@ public interface BasicdataVehicleMapper extends BaseMapper<BasicdataVehicleEntit
* @return
*/
BasicdataVehicleVO getVehicleDetail(@Param("id")Long id);
/**
* 保险临期车辆
* @param page
* @param basicdataVehicle
* @return
*/
IPage<BasicdataVehicleVO> selectInsuranceDeadlineBasicdataVehiclePage(IPage<BasicdataVehicleVO> page,@Param("param") BasicdataVehicleDTO basicdataVehicle);
/**
* 保险到期
* @param page
* @param basicdataVehicle
* @return
*/
IPage<BasicdataVehicleVO> selectInsuranceExpireBasicdataVehiclePage(IPage<BasicdataVehicleVO> page,@Param("param") BasicdataVehicleDTO basicdataVehicle);
/**
* 年审临期
* @param page
* @param basicdataVehicle
* @return
*/
IPage<BasicdataVehicleVO> selectAnnualDeadlineBasicdataVehiclePage(IPage<BasicdataVehicleVO> page,@Param("param") BasicdataVehicleDTO basicdataVehicle);
/**
* 年审到期
* @param page
* @param basicdataVehicle
* @return
*/
IPage<BasicdataVehicleVO> selectAnnualExpireBasicdataVehiclePage(IPage<BasicdataVehicleVO> page,@Param("param") BasicdataVehicleDTO basicdataVehicle);
}

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

@ -331,6 +331,357 @@
lbv.id = #{id}
AND is_deleted = 0
</select>
<select id="selectInsuranceDeadlineBasicdataVehiclePage"
resultType="com.logpm.basicdata.vo.BasicdataVehicleVO">
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.is_deleted = 0
AND lbv.insurance_end_time IS NOT null
AND DATEDIFF(DATE_FORMAT(lbv.insurance_end_time,'%y%m%d'),DATE_FORMAT(NOW(),'%y%m%d')) BETWEEN 1 AND 90
<if test="param.vehicleNub != null ">and lbv.vehicle_nub like concat('%',#{param.vehicleNub},'%')</if>
<if test="param.vehicleSource != null ">and lbv.vehicle_source = #{param.vehicleSource}</if>
<if test="param.trailerType != null ">and lbv.trailer_type = #{param.trailerType}</if>
<if test="param.vehicleModel != null ">and lbv.vehicle_model = #{param.vehicleModel}</if>
<if test="param.paymentMethod != null ">and lbv.payment_method = #{param.paymentMethod}</if>
<if test="param.carrierId != null ">and lbv.carrier_id = #{param.carrierId}</if>
</where>
</select>
<select id="selectInsuranceExpireBasicdataVehiclePage"
resultType="com.logpm.basicdata.vo.BasicdataVehicleVO">
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.is_deleted = 0
AND lbv.insurance_end_time IS NOT null
AND DATEDIFF(DATE_FORMAT(lbv.insurance_end_time,'%y%m%d'),DATE_FORMAT(NOW(),'%y%m%d')) &lt;= 0
<if test="param.vehicleNub != null ">and lbv.vehicle_nub like concat('%',#{param.vehicleNub},'%')</if>
<if test="param.vehicleSource != null ">and lbv.vehicle_source = #{param.vehicleSource}</if>
<if test="param.trailerType != null ">and lbv.trailer_type = #{param.trailerType}</if>
<if test="param.vehicleModel != null ">and lbv.vehicle_model = #{param.vehicleModel}</if>
<if test="param.paymentMethod != null ">and lbv.payment_method = #{param.paymentMethod}</if>
<if test="param.carrierId != null ">and lbv.carrier_id = #{param.carrierId}</if>
</where>
</select>
<select id="selectAnnualDeadlineBasicdataVehiclePage"
resultType="com.logpm.basicdata.vo.BasicdataVehicleVO">
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.is_deleted = 0
AND lbv.review_validity IS NOT null
AND DATEDIFF(DATE_FORMAT(lbv.review_validity,'%y%m%d'),DATE_FORMAT(NOW(),'%y%m%d')) BETWEEN 1 AND 90
<if test="param.vehicleNub != null ">and lbv.vehicle_nub like concat('%',#{param.vehicleNub},'%')</if>
<if test="param.vehicleSource != null ">and lbv.vehicle_source = #{param.vehicleSource}</if>
<if test="param.trailerType != null ">and lbv.trailer_type = #{param.trailerType}</if>
<if test="param.vehicleModel != null ">and lbv.vehicle_model = #{param.vehicleModel}</if>
<if test="param.paymentMethod != null ">and lbv.payment_method = #{param.paymentMethod}</if>
<if test="param.carrierId != null ">and lbv.carrier_id = #{param.carrierId}</if>
</where>
</select>
<select id="selectAnnualExpireBasicdataVehiclePage" resultType="com.logpm.basicdata.vo.BasicdataVehicleVO">
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.is_deleted = 0
AND lbv.review_validity IS NOT null
AND DATEDIFF(DATE_FORMAT(lbv.review_validity,'%y%m%d'),DATE_FORMAT(NOW(),'%y%m%d')) &lt;= 0
<if test="param.vehicleNub != null ">and lbv.vehicle_nub like concat('%',#{param.vehicleNub},'%')</if>
<if test="param.vehicleSource != null ">and lbv.vehicle_source = #{param.vehicleSource}</if>
<if test="param.trailerType != null ">and lbv.trailer_type = #{param.trailerType}</if>
<if test="param.vehicleModel != null ">and lbv.vehicle_model = #{param.vehicleModel}</if>
<if test="param.paymentMethod != null ">and lbv.payment_method = #{param.paymentMethod}</if>
<if test="param.carrierId != null ">and lbv.carrier_id = #{param.carrierId}</if>
</where>
</select>
</mapper>

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

@ -42,6 +42,7 @@ import com.logpm.basicdata.vo.BasicdataCarrierVO;
import com.logpm.basicdata.vo.BasicdataVehicleVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.exception.CustomerException;
import org.springblade.common.utils.PhoneCheckUtil;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl;
@ -51,10 +52,7 @@ import org.springblade.core.tool.utils.StringUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -75,14 +73,42 @@ public class BasicdataVehicleServiceImpl extends BaseServiceImpl<BasicdataVehicl
private final BasicdataDriverArteryMapper basicdataDriverArteryMapper;
private final IBasicdataCarrierService basicdataCarrierService;
@Override
public IPage<BasicdataVehicleVO> selectBasicdataVehiclePage(IPage<BasicdataVehicleVO> page, BasicdataVehicleDTO basicdataVehicle) {
return page.setRecords(baseMapper.selectBasicdataVehiclePage(page, basicdataVehicle));
if (Objects.isNull(basicdataVehicle.getPageType())) {
throw new CustomerException("pageType参数缺失!!!");
}
switch (basicdataVehicle.getPageType()) {
case 0:
//全部
List<BasicdataVehicleVO> basicdataVehicleVOS = baseMapper.selectBasicdataVehiclePage(page, basicdataVehicle);
return page.setRecords(basicdataVehicleVOS);
case 1:
//保险临期
IPage<BasicdataVehicleVO> insuranceDeadlineBasicdataVehicleVOS = baseMapper.selectInsuranceDeadlineBasicdataVehiclePage(page, basicdataVehicle);
return insuranceDeadlineBasicdataVehicleVOS;
case 2:
//保险到期
IPage<BasicdataVehicleVO> insuranceExpireBasicdataVehicleVOS = baseMapper.selectInsuranceExpireBasicdataVehiclePage(page, basicdataVehicle);
return insuranceExpireBasicdataVehicleVOS;
case 3:
//年审临期
IPage<BasicdataVehicleVO> annualDeadlineBasicdataVehicleVOS = baseMapper.selectAnnualDeadlineBasicdataVehiclePage(page, basicdataVehicle);
return annualDeadlineBasicdataVehicleVOS;
case 4:
//年审到期
IPage<BasicdataVehicleVO> expireDeadlineBasicdataVehicleVOS = baseMapper.selectAnnualExpireBasicdataVehiclePage(page, basicdataVehicle);
return expireDeadlineBasicdataVehicleVOS;
default:
log.error("未知的车辆类型>>>>>>>>>>>>>");
return null;
}
}
@Override
public List<BasicdataVehicleReadingFriendlyExcel> exportBasicdataVehicle(String ids) {
public List<BasicdataVehicleReadingFriendlyExcel> exportBasicdataVehicle(String ids) {
List<BasicdataVehicleReadingFriendlyExcel> basicdataVehicleList = baseMapper.exportBasicdataVehicle(ids.isEmpty() ? null : Func.toLongList(ids));
// List<BasicdataCarrierVO> basicdataCarrierVOS = basicdataCarrierService.selectBasicdataCarrierDictionary();
@ -106,7 +132,7 @@ public class BasicdataVehicleServiceImpl extends BaseServiceImpl<BasicdataVehicl
@Override
public List<BasicdataVehicleVO> selectBasicdataVehicleDictionary(String vehicleNub) {
if(StringUtil.isBlank(vehicleNub)){
if (StringUtil.isBlank(vehicleNub)) {
vehicleNub = null;
}
return baseMapper.selectBasicdataDictionary(vehicleNub);
@ -116,30 +142,30 @@ public class BasicdataVehicleServiceImpl extends BaseServiceImpl<BasicdataVehicl
public Integer updateOwners(BasicdataVehicleDTO basicdataVehicle) {
//删除原有绑定关系
int delete = basicdataDrivermiddleMapper.delete(new QueryWrapper<BasicdataDrivermiddleEntity>().lambda().eq(BasicdataDrivermiddleEntity::getBrandId, basicdataVehicle.getId()));
if (basicdataVehicle.getVehicleOwners().isEmpty()){
if (basicdataVehicle.getVehicleOwners().isEmpty()) {
return delete;
}
//新增现有的数据
// if (delete>0){
List<String> bindOwners = Arrays.asList(basicdataVehicle.getVehicleOwners().split(","));
ArrayList<BasicdataDrivermiddleEntity> basicdataDrivermiddleEntities = new ArrayList<>();
bindOwners.forEach(e->{
BasicdataDrivermiddleEntity basicdataDrivermiddleEntity = new BasicdataDrivermiddleEntity();
basicdataDrivermiddleEntity.setBrandId(basicdataVehicle.getId());
basicdataDrivermiddleEntity.setDriverId(Long.valueOf(e));
basicdataDrivermiddleEntities.add(basicdataDrivermiddleEntity);
});
basicdataDrivermiddleService.saveBatch(basicdataDrivermiddleEntities);
// }
// if (delete>0){
List<String> bindOwners = Arrays.asList(basicdataVehicle.getVehicleOwners().split(","));
ArrayList<BasicdataDrivermiddleEntity> basicdataDrivermiddleEntities = new ArrayList<>();
bindOwners.forEach(e -> {
BasicdataDrivermiddleEntity basicdataDrivermiddleEntity = new BasicdataDrivermiddleEntity();
basicdataDrivermiddleEntity.setBrandId(basicdataVehicle.getId());
basicdataDrivermiddleEntity.setDriverId(Long.valueOf(e));
basicdataDrivermiddleEntities.add(basicdataDrivermiddleEntity);
});
basicdataDrivermiddleService.saveBatch(basicdataDrivermiddleEntities);
// }
return delete;
}
@Override
public boolean saveVehicle(BasicdataVehicleDTO basicdataVehicle) {
if (Func.isNotEmpty(basicdataVehicle.getCarrierId())){
if (Func.isNotEmpty(basicdataVehicle.getCarrierId())) {
BasicdataCarrierEntity carrierEntity = basicdataCarrierService.getById(basicdataVehicle.getCarrierId());
if (Func.isNotEmpty(carrierEntity)){
if (Func.isNotEmpty(carrierEntity)) {
basicdataVehicle.setCarrierName(carrierEntity.getCarrierName());
}
@ -152,7 +178,7 @@ public class BasicdataVehicleServiceImpl extends BaseServiceImpl<BasicdataVehicl
List<BasicdataVehicleEntity> list = this.list();
List<BasicdataVehicleVO> basicdataVehicleVOS = new ArrayList<>();
if(Func.isEmpty(list)){
if (Func.isEmpty(list)) {
return null;
}
// 查询所有的iD
@ -168,22 +194,22 @@ public class BasicdataVehicleServiceImpl extends BaseServiceImpl<BasicdataVehicl
.collect(Collectors.groupingBy(BasicdataDrivermiddleEntity::getBrandId));
QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.eq("is_deleted",0);
queryWrapper1.eq("is_deleted", 0);
List<BasicdataDriverArteryEntity> basicdataDriverArteryEntities1 = basicdataDriverArteryMapper.selectList(queryWrapper1);
if (Func.isNotEmpty(list)){
list.forEach(l->{
if (Func.isNotEmpty(list)) {
list.forEach(l -> {
BasicdataVehicleVO vehicleVO = Func.copy(l, BasicdataVehicleVO.class);
List<BasicdataDrivermiddleEntity> basicdataDrivermiddleEntities = groupedEntities.get(vehicleVO.getId());
if(Func.isNotEmpty(basicdataDrivermiddleEntities)){
if (Func.isNotEmpty(basicdataDrivermiddleEntities)) {
List<Long> driverIds = basicdataDrivermiddleEntities.
stream().filter(f -> Func.isNotEmpty(f.getDriverId())).map(BasicdataDrivermiddleEntity::getDriverId).collect(Collectors.toList());
if (Func.isNotEmpty(driverIds)){
if (Func.isNotEmpty(driverIds)) {
List<BasicdataDriverArteryEntity> basicdataDriverArteryEntities = new ArrayList();
for (Long driverId : driverIds) {
basicdataDriverArteryEntities1.forEach(e->{
if (driverId.equals(e.getId())){
basicdataDriverArteryEntities1.forEach(e -> {
if (driverId.equals(e.getId())) {
basicdataDriverArteryEntities.add(e);
}
});
@ -210,56 +236,56 @@ public class BasicdataVehicleServiceImpl extends BaseServiceImpl<BasicdataVehicl
@Transactional
public void importDriverArtery(List<BasicdataVehicleImportExcel> data) {
String method = "#############BasicdataVehicleServiceImpl.importDriverArtery";
log.info("车辆模板导入信息>>>>{}",data);
log.info("车辆模板导入信息>>>>{}", data);
try {
List<BasicdataDrivermiddleEntity>drivermiddleEntities = new ArrayList<>();
List<BasicdataDrivermiddleEntity> drivermiddleEntities = new ArrayList<>();
//对导入数据进行处理
for (BasicdataVehicleImportExcel datum : data) {
BasicdataDrivermiddleEntity basicdataDrivermiddleEntity = null;
BasicdataVehicleEntity entity = this.getOne(Wrappers.<BasicdataVehicleEntity>query().lambda().eq(BasicdataVehicleEntity::getVehicleNub, datum.getVehicleNub()));
if (Func.isNotEmpty(entity)){
if (Func.isNotEmpty(entity)) {
continue;
}
//查询模板信息是否合法
//车牌号是否合法
if (Func.isEmpty(datum.getVehicleNub())){
if (Func.isEmpty(datum.getVehicleNub())) {
//车牌号为空
throw new ServiceException("请填写车牌号!");
}
//查看是否填写了电话号码,如果填写了电话号码进行校验号码是否有效
if (Func.isNotEmpty(datum.getVehicleUnitPhone())){
if (Func.isNotEmpty(datum.getVehicleUnitPhone())) {
//车辆所属单位电话校验
boolean a = PhoneCheckUtil.checkPhone(datum.getVehicleUnitPhone());
if (a){
if (a) {
throw new ServiceException("请填写正确手机号码!");
}
}
}
if (Func.isNotEmpty(datum.getVehicleOwnerPhone())){
if (Func.isNotEmpty(datum.getVehicleOwnerPhone())) {
//车辆所属人电话校验
boolean b = PhoneCheckUtil.checkPhone(datum.getVehicleOwnerPhone());
if (b){
boolean b = PhoneCheckUtil.checkPhone(datum.getVehicleOwnerPhone());
if (b) {
throw new ServiceException("请填写正确手机号码!");
}
//进行关系司机绑定
//进行关系司机绑定
//查询是否存在司机
if (!StringUtil.isBlank(datum.getVehicleOwner())){
BasicdataDriverArteryEntity driverArteryEntity = basicdataDriverArteryMapper.findDriverListByPhone(datum.getVehicleOwner().trim(),datum.getVehicleOwnerPhone().trim());
if (!StringUtil.isBlank(datum.getVehicleOwner())) {
BasicdataDriverArteryEntity driverArteryEntity = basicdataDriverArteryMapper.findDriverListByPhone(datum.getVehicleOwner().trim(), datum.getVehicleOwnerPhone().trim());
if (BeanUtil.isEmpty(driverArteryEntity)) {
log.info(method+ "查询到司机信息,进行绑定!>>>:{}",driverArteryEntity.getName());
log.info(method+ "查询到司机信息,进行绑定!>>>:{}",driverArteryEntity.getPhone());
log.info(method + "查询到司机信息,进行绑定!>>>:{}", driverArteryEntity.getName());
log.info(method + "查询到司机信息,进行绑定!>>>:{}", driverArteryEntity.getPhone());
//绑定用户
basicdataDrivermiddleEntity = new BasicdataDrivermiddleEntity();
basicdataDrivermiddleEntity.setDriverId(driverArteryEntity.getId());
}
}
}
}
if (Func.isNotEmpty(datum.getCarrierName())){
if (Func.isNotEmpty(datum.getCarrierName())) {
//存在承运商,进行承运商的校验
//找到数据库内的承运商
List<BasicdataCarrierEntity> basicdataCarrierEntities = basicdataCarrierService.list(Wrappers.<BasicdataCarrierEntity>lambdaQuery().eq(BasicdataCarrierEntity::getCarrierName, datum.getCarrierName()));
@ -279,16 +305,16 @@ public class BasicdataVehicleServiceImpl extends BaseServiceImpl<BasicdataVehicl
vehicleEntity.setInsuranceStartTime(datum.getInsuranceStartTime());
vehicleEntity.setInsuranceEndTime(datum.getInsuranceEndTime());
this.save(vehicleEntity);
if (Func.isNotEmpty(basicdataDrivermiddleEntity)){
if (Func.isNotEmpty(basicdataDrivermiddleEntity)) {
basicdataDrivermiddleEntity.setBrandId(vehicleEntity.getId());
drivermiddleEntities.add(basicdataDrivermiddleEntity);
}
}
if (!drivermiddleEntities.isEmpty()){
if (!drivermiddleEntities.isEmpty()) {
basicdataDrivermiddleService.saveBatch(drivermiddleEntities);
}
}catch (Exception e){
log.error("车辆导入失败",e);
} catch (Exception e) {
log.error("车辆导入失败", e);
throw new RuntimeException("导入失败");
}

7
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml

@ -551,16 +551,15 @@
<where>
lds.id =#{id}
</where>-->
select DISTINCT ldsi.stockup_id , ldpl.id id,ldpl.order_package_code orderPackageCode,lds.type
select ldsi.stockup_id , ldr.reservation_code, ldpl.id id,ldpl.order_package_code orderPackageCode,lds.type
stockupStatus,ldpl.firsts,ldpl.second,ldpl.third_product thirdProduct,
ldpl.material_name materialName,lds.create_time stockupDate,lds.stockup_area stockupArea,ldpl.goods_allocation
goodsAllocation,lwt.pallet_name pallet
goodsAllocation,ldpl.pallet pallet
from logpm_distribution_stockup_info ldsi
LEFT JOIN logpm_distribution_reservation ldr on ldr.id= ldsi.reservation_id
LEFT JOIN logpm_distribution_reservation_package ldrp on ldrp.reservation_id = ldsi.reservation_id
LEFT JOIN logpm_distribution_parcel_list ldpl on ldpl.id = ldrp.parce_list_id
LEFT JOIN logpm_distribution_stock lds on ldpl.id = lds.parcel_list_id and lds.stockup_id = ldsi.stockup_id
LEFT JOIN logpm_warehouse_tray_goods lwtg on lwtg.association_id = ldpl.id and lwtg.association_type = '3'
LEFT JOIN logpm_warehouse_tray lwt on lwtg.tray_id = lwt.id
<where>
ldsi.stockup_id =#{id} and ldpl.order_package_code is not null and ldsi.stock_status != 4 AND ldrp.packet_bar_status != 2
</where>

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

@ -624,7 +624,7 @@
ldsl.sku,
ldsl.source_type,
ldrs.reservation_num,
count(ldsld.stock_package_code) AS stockupNum,
(SELECT IFNULL(SUM(stock_quantity),0) FROM logpm_distribution_stock WHERE reservation_id = ldrs.reservation_id AND stock_list_id = ldrs.stocklist_id) AS stockupNum,
(SELECT lds.stockup_area FROM logpm_distribution_stockup_info AS ldsi INNER JOIN logpm_distribution_stockup AS
lds ON ldsi.stockup_id = lds.id WHERE ldsi.reservation_id = ldrs.reservation_id) AS stockupArea
FROM
@ -632,7 +632,11 @@
INNER JOIN logpm_distribution_stock_list AS ldsl ON ldrs.stocklist_id = ldsl.id
INNER JOIN logpm_dis_stock_list_detail AS ldsld ON ldrs.reservation_id = ldsld.reservation_id and
ldrs.stocklist_id = ldsl.id
WHERE ldrs.reservation_id = #{reservationId}
WHERE
ldrs.is_deleted = 0
AND ldrs.reservation_id = #{reservationId}
AND ldrs.stock_list_status != 2
GROUP BY ldsl.id
</select>
<select id="getMarketReservationInfo" resultType="com.logpm.distribution.entity.DistributionReservationEntity">

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

@ -775,7 +775,7 @@
AND ldpll.warehouse_id = #{par.warehouseId}
AND ldsa.type_service = #{par.typeService}
<if test="par.orderCode != null and par.orderCode != '' ">
and ldpll.order_code like concat(#{par.orderCode},'%')
and ldpll.order_code like concat('%',#{par.orderCode},'%')
</if>
GROUP BY ldpll.stock_article_id
HAVING SUM(ldpll.quantity) > 0

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

@ -259,15 +259,12 @@
lds.type_service typeService,
lds.outbound_date outboundDate,
lds.stockup_code stockupCode,
COALESCE ( group_concat( DISTINCT ldpl.goods_allocation SEPARATOR ',' ), '' ) AS stockipAllocation,
COALESCE ( group_concat( DISTINCT ldpl.pallet SEPARATOR ',' ), '' ) AS pallet,
COALESCE ( group_concat( DISTINCT ldr.consignee SEPARATOR ',' ), '' ) AS consignee
FROM
logpm_distribution_stockup lds
LEFT JOIN logpm_distribution_stockup_info ldsi ON ldsi.stockup_id = lds.id
LEFT JOIN logpm_distribution_reservation ldr ON ldsi.reservation_id = ldr.id
LEFT JOIN logpm_distribution_reservation_package ldrp ON ldrp.reservation_id = ldsi.reservation_id
LEFT JOIN logpm_distribution_parcel_list ldpl ON ldpl.id = ldrp.parce_list_id
<where>
lds.is_deleted = 0 AND ldsi.stock_status != 4
@ -356,15 +353,11 @@
lds.loader_name loaderName, lds.forklift_id forkliftId,lds.loader_id loaderId,lds.fix_time
fixTime,lds.assign_time assignTime,
lds.type_service typeService,lds.outbound_date outboundDate,lds.stockup_code stockupCode,
COALESCE(GROUP_CONCAT(DISTINCT ldpl.goods_allocation SEPARATOR ','), '')stockipAllocation,
COALESCE(GROUP_CONCAT(DISTINCT ldpl.pallet SEPARATOR ','), '') pallet,
COALESCE(group_concat(DISTINCT ldsa.mall_name separator ','), '') as consignee
from logpm_distribution_stockup lds
LEFT JOIN logpm_distribution_stockup_info ldsi on ldsi.stockup_id = lds.id
LEFT JOIN logpm_distrilbution_bill_stock ldbs on ldbs.bill_lading_id = ldsi.reservation_id
LEFT JOIN logpm_distribution_stock_article ldsa on ldsa.id = ldbs.stock_article_id and ldbs.order_status in (1,2)
LEFT JOIN logpm_distribution_parcel_list ldpl on ldpl.stock_article_id = ldbs.stock_article_id
LEFT JOIN (
SELECT
IFNULL(COUNT( b.reservation_id ),0 )AS aaa,
@ -391,12 +384,6 @@
<if test="param.stockupUser != null and param.stockupUser != '' ">and lds.stockup_user like
concat('%',#{param.stockupUser},'%')
</if>
<if test="param.stockipAllocation != null and param.stockipAllocation != '' ">and ldpl.goods_allocation
like concat('%',#{param.stockipAllocation},'%')
</if>
<if test="param.pallet != null and param.pallet != '' ">and ldpl.pallet
like concat('%',#{param.pallet},'%')
</if>
<if test="param.stockupCode != null and param.stockupCode != '' ">and lds.stockup_code like
concat('%',#{param.stockupCode},'%')
@ -944,33 +931,43 @@
</select>
<select id="detailReservationOwn" resultType="com.logpm.distribution.vo.DistributionStockupVO">
select DISTINCT ldr.consignee ,ldr.delivery_address deliveryAddress,ldr.delivery_phone
deliveryPhone,ldr.mall_name mallName,
ldr.stock_article_id stockArticleId,ldr.stockup_status stockupStatus,ldr.reserve_quantity reserveQuantity,ldr.end_time_stocking endTimeStocking,
ldr.start_time_stocking startTimeStocking,ldr.stock_order_quantity stockOrderQuantity,
(
select GROUP_CONCAT(DISTINCT lwug.position_code) goodsAllocation
from logpm_distribution_reservation_package ldrp
LEFT JOIN logpm_warehouse_updown_goods lwug on lwug.association_id = ldrp.parce_list_id
where ldrp.reservation_id = ldsi.reservation_id
) goodsAllocation,
SELECT
ldr.reservation_code,
ldr.consignee,
ldr.delivery_address deliveryAddress,
ldr.delivery_phone deliveryPhone,
ldr.mall_name mallName,
ldr.stock_article_id stockArticleId,
ldr.stockup_status stockupStatus,
ldr.reserve_quantity reserveQuantity,
ldr.end_time_stocking endTimeStocking,
ldr.start_time_stocking startTimeStocking,
ldr.stock_order_quantity stockOrderQuantity,
CONCAT(IFNULL(GROUP_CONCAT( DISTINCT ldpl.pallet ),''),',',IFNULL(GROUP_CONCAT( DISTINCT ldsl.tray_name ),'')) pallet,
CONCAT(IFNULL(GROUP_CONCAT( DISTINCT ldpl.goods_allocation ),''),',',IFNULL(GROUP_CONCAT( DISTINCT ldsl.storage_location ),'')) goodsAllocation,
ldr.stockup_status stockStatus,
ldr.reservation_num reservationNum,
ldr.reservation_stock_list_num reservationStockListNum
from logpm_distribution_reservation ldr
LEFT JOIN logpm_distribution_stockup_info ldsi on ldr.id = ldsi.reservation_id
FROM
logpm_distribution_stockup lds
LEFT JOIN logpm_distribution_stockup_info ldsi ON lds.id = ldsi.stockup_id
LEFT JOIN logpm_distribution_reservation ldr ON ldr.id = ldsi.reservation_id
left join logpm_distribution_reservation_package ldrp ON ldrp.reservation_id = ldr.id
LEFT JOIN logpm_distribution_parcel_list ldpl ON ldpl.id = ldrp.parce_list_id
LEFT JOIN logpm_distribution_reservation_stocklist ldrs on ldrs.reservation_id = ldr.id
LEFT JOIN logpm_distribution_stock_list ldsl ON ldrs.stocklist_id = ldsl.id
<where>
ldr.id in (select reservation_id
from logpm_distribution_stockup_info )
and ldsi.stockup_id = #{param.id}
and ldr.is_deleted = 0
and ldsi.stock_status != 4
<if test="param.stockupStatus != null and param.stockupStatus !=''"> and ldr.stockup_status = #{param.stockupStatus} </if>
<if test="param.mallName != null and param.mallName !=''"> and ldr.mall_name = #{param.mallName} </if>
<if test="param.goodsAllocation != null and param.goodsAllocation !=''"> and lwug.position_code like concat('%', #{param.goodsAllocation},'%' )</if>
<if test="param.startTimeStocking != null and param.startTimeStocking != '' ">and date_format(from_unixtime( ldr.start_time_stocking),'%Y-%m-%d') = date_format(#{param.startTimeStocking },'%Y-%m-%d') </if>
<if test="param.endTimeStocking != null and param.endTimeStocking != '' ">and date_format(from_unixtime( ldr.end_time_stocking),'%Y-%m-%d') = date_format(#{param.endTimeStocking },'%Y-%m-%d') </if>
lds.id = #{param.id}
AND ldr.is_deleted = 0
AND ldsi.stock_status != 4
<if test="param.stockupStatus != null and param.stockupStatus !=''"> and ldr.stockup_status = #{param.stockupStatus} </if>
<if test="param.mallName != null and param.mallName !=''"> and ldr.mall_name = #{param.mallName} </if>
<if test="param.goodsAllocation != null and param.goodsAllocation !=''"> and ldpl.goods_allocation like concat('%', #{param.goodsAllocation},'%' )</if>
<if test="param.startTimeStocking != null and param.startTimeStocking != '' ">and date_format(from_unixtime( ldr.start_time_stocking),'%Y-%m-%d') = date_format(#{param.startTimeStocking },'%Y-%m-%d') </if>
<if test="param.endTimeStocking != null and param.endTimeStocking != '' ">and date_format(from_unixtime( ldr.end_time_stocking),'%Y-%m-%d') = date_format(#{param.endTimeStocking },'%Y-%m-%d') </if>
</where>
GROUP BY
ldr.id;
</select>
<select id="detailOrderOwn" resultType="com.logpm.distribution.vo.DistributionStockupVO">
@ -982,9 +979,9 @@
lds.stockup_area AS stockupArea,
ldsa.id stockArticleId,
(
SELECT GROUP_CONCAT(DISTINCT lwug.position_code)
SELECT GROUP_CONCAT(DISTINCT dpl.goods_allocation)
FROM logpm_distribution_parcel_list dpl
left join logpm_warehouse_updown_goods lwug on dpl.id = lwug.association_id
WHERE dpl.stock_article_id = ldrs.stock_article_id
) AS goodsAllocation
FROM logpm_distribution_stockup_info ldsi
@ -1010,6 +1007,7 @@
ldsii.cargo_unit cargoUnit,
ldsii.id stockListId,
ldrsi.reservation_id reservationId,
ldr.reservation_code reservationCode,
ldrsi.reservation_num reservationNum,
lds.stockup_area stockupArea,
lds.stockup_status stockupStatus,
@ -1019,7 +1017,8 @@
( SELECT count( ds.id ) FROM logpm_distribution_stock ds WHERE ds.stock_list_id = ldsii.id AND ds.reservation_id = ldsi.reservation_id ) number,
ldrsi.stock_status stockStatus,
ldrsi.start_time_stocking startTimeStocking,
ldrsi.end_time_stocking endTimeStocking
ldrsi.end_time_stocking endTimeStocking,
ldsii.storage_location
from logpm_distribution_stockup_info ldsi
LEFT JOIN logpm_distribution_reservation ldr ON ldsi.reservation_id = ldr.id
LEFT JOIN logpm_distribution_reservation_stocklist ldrsi ON ldrsi.reservation_id = ldsi.reservation_id
@ -1153,11 +1152,11 @@
lds.stockup_code stockupCode,
COALESCE(GROUP_CONCAT(DISTINCT lwug.position_code SEPARATOR ','), '') stockipAllocation,
COALESCE(GROUP_CONCAT(DISTINCT lwtg.tray_code SEPARATOR ','), '') pallet
from logpm_platform.logpm_distribution_stockup lds
LEFT JOIN logpm_platform.logpm_distribution_stockup_info ldsi on ldsi.stockup_id = lds.id
LEFT JOIN logpm_platform.logpm_distribution_reservation_package ldrp on ldrp.reservation_id = ldsi.reservation_id
LEFT JOIN logpm_platform.logpm_warehouse_updown_goods lwug on lwug.association_id = ldrp.parce_list_id
LEFT JOIN logpm_platform.logpm_warehouse_tray_goods lwtg on lwtg.association_id = ldrp.parce_list_id
from logpm_distribution_stockup lds
LEFT JOIN logpm_distribution_stockup_info ldsi on ldsi.stockup_id = lds.id
LEFT JOIN logpm_distribution_reservation_package ldrp on ldrp.reservation_id = ldsi.reservation_id
LEFT JOIN logpm_warehouse_updown_goods lwug on lwug.association_id = ldrp.parce_list_id
LEFT JOIN logpm_warehouse_tray_goods lwtg on lwtg.association_id = ldrp.parce_list_id
<where>
lds.is_deleted = 0
and lds.type_service = #{paramMap.typeService}
@ -1203,12 +1202,12 @@
COALESCE ( group_concat( DISTINCT ldr.consignee SEPARATOR ',' ), '' ) AS consignee,
COALESCE ( group_concat( DISTINCT ldr.delivery_address SEPARATOR ',' ), '' ) AS deliveryAddress,
(SELECT GROUP_CONCAT(ldsa.order_code) FROM logpm_distribution_reservation_stockarticle AS ldrs LEFT JOIN logpm_distribution_stock_article AS ldsa ON ldrs.stock_article_id = ldsa.id WHERE ldrs.reservation_id = ldr.id GROUP BY ldrs.reservation_id) As orderCodes
from logpm_platform.logpm_distribution_stockup lds
LEFT JOIN logpm_platform.logpm_distribution_stockup_info ldsi on ldsi.stockup_id = lds.id
from logpm_distribution_stockup lds
LEFT JOIN logpm_distribution_stockup_info ldsi on ldsi.stockup_id = lds.id
LEFT JOIN logpm_distribution_reservation AS ldr ON ldsi.reservation_id = ldr.id
LEFT JOIN logpm_platform.logpm_distribution_reservation_package ldrp on ldrp.reservation_id = ldsi.reservation_id
LEFT JOIN logpm_platform.logpm_warehouse_updown_goods lwug on lwug.association_id = ldrp.parce_list_id
LEFT JOIN logpm_platform.logpm_warehouse_tray_goods lwtg on lwtg.association_id = ldrp.parce_list_id
LEFT JOIN logpm_distribution_reservation_package ldrp on ldrp.reservation_id = ldsi.reservation_id
LEFT JOIN logpm_warehouse_updown_goods lwug on lwug.association_id = ldrp.parce_list_id
LEFT JOIN logpm_warehouse_tray_goods lwtg on lwtg.association_id = ldrp.parce_list_id
<where>
lds.is_deleted = 0
and lds.type_service = #{paramMap.typeService}
@ -1246,12 +1245,12 @@
lds.stockup_code stockupCode,
COALESCE(GROUP_CONCAT(DISTINCT lwug.position_code SEPARATOR ','), '') stockipAllocation,
COALESCE(GROUP_CONCAT(DISTINCT lwtg.tray_code SEPARATOR ','), '') pallet
from logpm_platform.logpm_distribution_stockup lds
LEFT JOIN logpm_platform.logpm_distribution_stockup_info ldsi on ldsi.stockup_id = lds.id
LEFT JOIN logpm_platform.logpm_distrilbution_bill_stock ldbs on ldbs.bill_lading_id = ldsi.reservation_id
LEFT JOIN logpm_platform.logpm_distribution_parcel_list ldpl on ldpl.stock_article_id = ldbs.stock_article_id
LEFT JOIN logpm_platform.logpm_warehouse_tray_goods lwtg on lwtg.association_id = ldpl.id
LEFT JOIN logpm_platform.logpm_warehouse_updown_goods lwug on lwug.association_id = ldpl.id
from logpm_distribution_stockup lds
LEFT JOIN logpm_distribution_stockup_info ldsi on ldsi.stockup_id = lds.id
LEFT JOIN logpm_distrilbution_bill_stock ldbs on ldbs.bill_lading_id = ldsi.reservation_id
LEFT JOIN logpm_distribution_parcel_list ldpl on ldpl.stock_article_id = ldbs.stock_article_id
LEFT JOIN logpm_warehouse_tray_goods lwtg on lwtg.association_id = ldpl.id
LEFT JOIN logpm_warehouse_updown_goods lwug on lwug.association_id = ldpl.id
<where>
lds.is_deleted = 0
and lds.type_service = #{paramMap.typeService}

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

@ -28,8 +28,10 @@ import com.google.zxing.WriterException;
import com.logpm.basic.entity.BasicMaterialEntity;
import com.logpm.basic.feign.IBasicMaterialClient;
import com.logpm.basicdata.entity.BasicdataClientEntity;
import com.logpm.basicdata.entity.BasicdataGoodsAllocationEntity;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataClientClient;
import com.logpm.basicdata.feign.IBasicdataGoodsAllocationClient;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.distribution.dto.DistributionParcelListDTO;
import com.logpm.distribution.dto.app.StockupDTO;
@ -60,14 +62,14 @@ import com.logpm.distribution.vo.PackageStockupVO;
import com.logpm.distribution.service.*;
import com.logpm.distribution.vo.*;
import com.logpm.trunkline.feign.ITrunklinePackageTrackLogClient;
import com.logpm.warehouse.entity.WarehouseConfigEntity;
import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity;
import com.logpm.warehouse.entity.WarehouseWaybillEntity;
import com.logpm.warehouse.feign.IWarehouseTrayGoodsClient;
import com.logpm.warehouse.feign.IWarehouseUpdownGoodsClient;
import com.logpm.warehouse.feign.IWarehouseWaybillClient;
import com.logpm.warehouse.feign.*;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.common.constant.WorkNodeEnums;
import org.springblade.common.constant.common.IsOrNoConstant;
import org.springblade.common.constant.order.OrderStockupStatusConstant;
import org.springblade.common.constant.orderpackage.OrderPackageLoadingStatusConstant;
import org.springblade.common.constant.orderpackage.OrderPackageReservationStatusConstant;
@ -126,6 +128,9 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
private IBasicdataWarehouseClient basicdataWarehouseClient;
@Autowired
private IWarehouseUpdownGoodsClient warehouseUpdownGoodsClient;
@Autowired
private IWarehouseUpdownTypeClient warehouseUpdownTypeClient;
@Autowired
private IWarehouseTrayGoodsClient warehouseTrayGoodsClient;
@Autowired
@ -163,6 +168,11 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
private IUserClient userClient;
@Autowired
private ITrunklinePackageTrackLogClient trunklinePackageTrackLogClient;
@Autowired
private IWarehouseConfigClient warehouseConfigClient;
@Autowired
private IBasicdataGoodsAllocationClient allocationClient;
// private final IDistributionStockArticleService distributionStockArticleService;
@Override
@ -226,8 +236,8 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
i.setStockupStatusName(DictBizCache.getValue(DictBizConstant.ORDER_PACKAGE_STOCKUP_STATUS, i.getStockupStatus()));
}
//出现货位信息
String s = warehouseUpdownGoodsClient.selectMsgBywrap(i.getId());
i.setGoodsAllocation(s);
// String s = warehouseUpdownGoodsClient.selectMsgBywrap(i.getId());
// i.setGoodsAllocation(s);
});
return parcelListOwn;
}
@ -511,7 +521,27 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
if (ObjectUtils.isNull(myCurrentWarehouse)) {
throw new ServiceException("请选择仓库!");
}
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
WarehouseConfigEntity warehouseConfig = warehouseConfigClient.getWarehouseConfig(myCurrentWarehouse.getId());
BasicdataGoodsAllocationEntity defaultGoodsAllocation;
Integer isAutoWarehouse;
if (!Objects.isNull(warehouseConfig)){
if (!Objects.isNull(warehouseConfig.getIsAutoWarehouse())){
//查询备货库位
isAutoWarehouse = warehouseConfig.getIsAutoWarehouse() != null ? warehouseConfig.getIsAutoWarehouse() : 0;
if (isAutoWarehouse == Integer.parseInt(IsOrNoConstant.yes.getValue())){
defaultGoodsAllocation = allocationClient.findDefaultGoodsAllocation(myCurrentWarehouse.getId());
} else {
defaultGoodsAllocation = null;
}
} else {
defaultGoodsAllocation = null;
isAutoWarehouse = 0;
}
} else {
defaultGoodsAllocation = null;
isAutoWarehouse = 0;
}
QueryWrapper<DistributionParcelListEntity> queryWrapper = new QueryWrapper<>();
String s = String.valueOf(o);
if (s.contains(",")) {
String[] split = s.split(",");
@ -541,33 +571,6 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
int sum = v.stream().mapToInt(DistributionParcelListEntity::getQuantity).sum();
List<Long> packageIds = new ArrayList<>();
v.forEach(i -> {
//查询有没有打托数据
// //查询包件有没有物料
// List<DistributionParcelDetailsEntity> list = distributionParcelDetailsService.list(Wrappers.<DistributionParcelDetailsEntity>query().lambda()
// .eq(DistributionParcelDetailsEntity::getParcelListId, i.getId())
// );
// if (!list.isEmpty()) {
// //有
// list.stream().collect(Collectors.groupingBy(DistributionParcelDetailsEntity::getEncoded))
// .forEach((kk, vv) -> {
// DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity();
// BeanUtil.copyProperties(vv.get(0), parcelListEntity);
// parcelListEntity.setQuantity(sum);
// parcelListEntity.setMaterialName(vv.get(0).getName());
// parcelListEntity.setMaterialCode(vv.get(0).getEncoded());
// parcelListEntity.setMaterialUnit(vv.get(0).getUnit());
// // 添加库存品信息
// //查询在库订单信息
// DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleMapper.selectById(parcelListEntity.getStockArticleId());
// if (ObjectUtil.isEmpty(distributionStockArticleEntity.getMallId())) {
// throw new ServiceException("订单的客户数据异常,无法转换!!");
// }
// addStockList(distributionStockArticleEntity, parcelListEntity, 1);
// });
// }
DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity();
BeanUtil.copyProperties(i, parcelListEntity);
@ -594,6 +597,11 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
String content = "包件在"+myCurrentWarehouse.getName()+"由"+AuthUtil.getNickName()+"转库存品,"+"批次号:"+i.getOrderCode()+"物料名称:"+i.getMaterialName()+"物料编码:"+i.getMaterialCode();
JSONObject js = handleLogJSONObject(myCurrentWarehouse, AuthUtil.getUser(), i.getOrderPackageCode(), content, WorkNodeEnums.STOCK_TRANSFER.getCode());
aaa.add(js);
//查询当前仓是否存在有自动入库的配置
if (isAutoWarehouse == Integer.parseInt(IsOrNoConstant.yes.getValue()) && !Objects.isNull(defaultGoodsAllocation)){
//进行此包件的默认上架
warehouseUpdownTypeClient.upShelfPackage( i.getOrderPackageCode(),defaultGoodsAllocation.getId(),myCurrentWarehouse.getId(),"自动上架");
}
});
DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity();
BeanUtil.copyProperties(v.get(0), parcelListEntity);
@ -631,22 +639,11 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleMapper.selectById(oo); //修改
stockArticleEntity.setId(oo);
stockArticleEntity.setGenre(2);
// stockArticleEntity.setTotalNumber(stockArticleEntity.getTotalNumber() - list1.size());
stockArticleEntity.setHandQuantity(0);
distributionStockArticleMapper.updateById(stockArticleEntity);
} else {
DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleMapper.selectById(oo);
distributionStockArticleEntity.setHandQuantity(distributionStockArticleEntity.getHandQuantity() - list1.size());
// distributionStockArticleEntity.setTotalNumber(distributionStockArticleEntity.getTotalNumber() - list1.size());
//统计订单在库数量
// List<DistributionParcelListEntity> parcelListEntities = this.list(Wrappers.<DistributionParcelListEntity>query().lambda()
// .eq(DistributionParcelListEntity::getStockArticleId, oo)
// .eq(DistributionParcelListEntity::getWarehouseId, myCurrentWarehouse.getId())
// );
// int sum = parcelListEntities.stream().filter(p -> "1".equals(p.getConditions())).mapToInt(DistributionParcelListEntity::getQuantity).sum();
// distributionStockArticleEntity.setHandQuantity(sum);
// distributionStockArticleEntity.setIncomingNum(sum);
distributionStockArticleMapper.updateById(distributionStockArticleEntity);
}
});

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

@ -3948,11 +3948,18 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
//扣减库存品计划取消数量
log.info("##############扣减库存品计划数量:{}", disStockListDetailEntity);
int a = distributionReservationStocklistMapper.deductionStockListReservationNum(disStockListDetailEntity.getReservationId(), disStockListDetailEntity.getStockListId(), disStockListDetailEntity.getNum());
//进行对应库存品的数量扣减
DistributionStockListEntity stockListEntity = distributionStockListService.getById(disStockListDetailEntity.getStockListId());
if (Objects.isNull(stockListEntity)){
throw new CustomerException("查询库存品信息错误");
}
int QuantityOccupied = stockListEntity.getQuantityOccupied() - disStockListDetailEntity.getNum();
stockListEntity.setQuantityOccupied(QuantityOccupied);
distributionStockListService.updateById(stockListEntity);
}
//维护对应库存品信息
distributionReservationStocklistService.maintenanceReservationStockList(distributionCancelReservationPackageDTO.getReservationId());
break;
}
//维护预约单状态
this.maintenanceReservationInfo(distributionCancelReservationPackageDTO.getReservationId());

22
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java

@ -1668,16 +1668,16 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
if (b) {
//查询库存品
IPage<DistributionStockupVO> inventoryOwn = baseMapper.getInventoryOwn(page, id);
List<DistributionStockupVO> records = inventoryOwn.getRecords();
for (DistributionStockupVO record : records) {
Long warehouseId = record.getWarehouseId();
Long mallId = record.getMallId();
String sku = record.getSku();
//查询库位信息
String allocations = warehouseUpdownTypeClient.findStockListAllocations(warehouseId, mallId, sku);
record.setGoodsAllocation(allocations);
}
inventoryOwn.setRecords(records);
// List<DistributionStockupVO> records = inventoryOwn.getRecords();
//// for (DistributionStockupVO record : records) {
//// Long warehouseId = record.getWarehouseId();
//// Long mallId = record.getMallId();
//// String sku = record.getSku();
//// //查询库位信息
//// String allocations = warehouseUpdownTypeClient.findStockListAllocations(warehouseId, mallId, sku);
//// record.setGoodsAllocation(allocations);
//// }
// inventoryOwn.setRecords(records);
return inventoryOwn;
} else {
@ -3829,7 +3829,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
entity.setAllocationId(stockupDTO.getAllocationId());
}
entity.setConditions("0");
entity.setType(2);
entity.setType(1);
entity.setOutboundType(distributionStockupEntity.getTypeService());
//修改订单备货状态
distributionAsyncService.updateStockArticleStock(one.getStockArticleId());

14
blade-service/logpm-report/src/main/java/com/logpm/report/controller/ReportDeliveryController.java

@ -90,6 +90,13 @@ public class ReportDeliveryController extends BladeController {
IPage<ReportDetailVO> pages = reportDeliverService.detailsPage(vo, query);
return R.data(pages);
}
@GetMapping("/details/v2")
@ApiOperationSupport(order = 5)
@ApiOperation(value = "配送明细报表v2", notes = "配送明细报表v2")
public R<IPage<ReportDetailVO>> detailsPageV2(ReportDetailVO vo, DevilerDetailsQuery query) {
IPage<ReportDetailVO> pages = reportDeliverService.detailsPageV2(vo, query);
return R.data(pages);
}
@GetMapping("/exportDetails")
@ApiOperationSupport(order = 6)
@ -97,6 +104,13 @@ public class ReportDeliveryController extends BladeController {
public void exportDetails(HttpServletResponse response, ReportDetailVO vo, DevilerDetailsQuery query) {
reportDeliverService.exportDetails(response, vo, query);
}
@GetMapping("/exportDetails/v2")
@ApiOperationSupport(order = 6)
@ApiOperation(value = "导出配送明细报表v2", notes = "导出配送明细报表v2")
public void exportDetailsV2(HttpServletResponse response, ReportDetailVO vo, DevilerDetailsQuery query) {
reportDeliverService.exportDetailsV2(response, vo, query);
}
@GetMapping("/stockOrder")

2
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/BillDataMapper.xml

@ -6,7 +6,7 @@
<select id="billCount" resultType="java.lang.Integer">
select count(*) billCount
from
logpm_platform.logpm_warehouse_waybill
logpm_warehouse_waybill
where freeze_status = 0
<where>
<if test="item != null">

6
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/IndexCountMapper.xml

@ -5,7 +5,7 @@
select
count(*)
FROM
logpm_platform.logpm_aftersales_work_order
logpm_aftersales_work_order
where
create_time > MONTH(CURRENT_DATE())
</sql>
@ -24,8 +24,8 @@
</if>
</select>
<sql id="boundQuantity">
select count(*) count,b.type_service as typeService from logpm_platform.logpm_distribution_parcel_list as a
inner join logpm_platform.logpm_distribution_stock_article as b on a.stock_article_id = b.id
select count(*) count,b.type_service as typeService from logpm_distribution_parcel_list as a
inner join logpm_distribution_stock_article as b on a.stock_article_id = b.id
where
a.create_time > MONTH(CURRENT_DATE())
<if test="warehouseId != null">

3
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapeer.java

@ -70,6 +70,9 @@ public interface ReportDeliverMapeer extends BaseMapper {
List<DeliveryTrainLoadedScanDTO> getDeliveryTrainLoadSacnInvnByIds(@Param("idBatch") List<Long> idBatch);
Long getDetailsPageCount(@Param("ew") Wrapper query);
Long getDetailsV2PageCount(@Param("ew") Wrapper query);
List<ReportDetailVO> getDetailsPageExport(@Param("ew") Wrapper queryWrapper, @Param("current") Integer current, @Param("size") Integer size);
List<ReportDetailVO> getDetailsPageV2(IPage<ReportDetailVO> page, @Param("ew") Wrapper queryWrapper);
}

66
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml

@ -500,6 +500,67 @@
<select id="getDetailsPage" resultType="com.logpm.report.vo.ReportDetailVO">
<include refid="detailsPageSql"/>
</select>
<select id="getDetailsPageV2" resultType="com.logpm.report.vo.ReportDetailVO">
<include refid="detailsPageV2Sql"/>
</select>
<sql id="detailsPageV2Sql">
select *
from (select plan_train_number train_number,
plan_reservation_code reservation_code,
delivery_time task_time,
warehouse_name warehouse_name,
warehouse_id warehouse_id,
delivery_type type,
delivery_kind kind,
vehicle_name vehicle_name,
driver_name driver_name,
distribution_company distribution_company,
custom_name dr_consignee,
custom_phone delivery_phone,
custom_address delivery_address,
consignee_unit consignee,
consignee_person consignee_name,
consignee_mobile consignee_mobile,
waybill_number waybill_no,
order_code stock_article_id,
order_package_code order_package_code,
train_number customer_train,
case
when conditions = 1 then '订制品'
when conditions = 2 then '零担'
when conditions = 3 then '库存品' end conditions,
firsts_product firsts,
second_product decond,
third_product third_product,
materiel_code material_code,
materiel_name material_name,
begin_warehouse_name start_war,
begin_warehouse_in_time start_war_in_time,
begin_warehouse_out_time start_war_out_time,
end_warehouse_in_time warehouse_entry_time_end,
case
when sign_status = 1 then '已签收'
when sign_status = 0 then '未签收'
when sign_status = -1 then '已回库' end driver_signing,
load_time unload_time,
load_user_name un_administrators_name,
sign_time sjsigning_time,
sign_user_name lds_signee_name,
case when review_time is null then '未复核' else '已复核' end signing_status,
review_time signing_time,
sign_num sign_num,
sign_type sign_type,
load_type loading_mode,
brand_name brand,
review_user_name examine_user_name,
case
when plan_reservation_code = sign_reservation_code then '否'
when plan_reservation_code != sign_reservation_code then '是'
else '' end abnormal_signing
from logpm_quality_deliver
order by id desc
) t ${ew.customSqlSegment}
</sql>
<sql id="detailsZeroPage">
select
id,
@ -837,6 +898,11 @@
<include refid="detailsPageSql"></include>
) t
</select>
<select id="getDetailsV2PageCount" resultType="java.lang.Long">
select count(*) from (
<include refid="detailsPageV2Sql"></include>
) t
</select>
<select id="getDetailsPageExport" resultType="com.logpm.report.vo.ReportDetailVO">
<include refid="detailsPageSql"></include>

43
blade-service/logpm-report/src/main/java/com/logpm/report/reader/DeliveryDetailV2Reader.java

@ -0,0 +1,43 @@
package com.logpm.report.reader;
import cn.hutool.core.convert.Convert;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.logpm.report.mapper.ReportDeliverMapeer;
import com.logpm.report.service.ExportReader;
import com.logpm.report.service.IAsyncService;
import io.prometheus.client.CollectorRegistry;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
/**
* @author zhaoqiaobo
* @create 2024-03-08 9:50
*/
@Component
public class DeliveryDetailV2Reader implements ExportReader {
@Resource
private ReportDeliverMapeer reportDeliverMapeer;
@Autowired
private CollectorRegistry collectorRegistry;
@Autowired
private IAsyncService asyncService;
@Override
public Long getCount(Wrapper query) {
Page page = new Page(1, 1);
Long detailsPageCount = reportDeliverMapeer.getDetailsV2PageCount(query);
return detailsPageCount;
}
@Override
public List<T> findList(Page page, Wrapper query) {
return asyncService.detailsPageV2(page, query, Convert.toInt(page.getCurrent()), Convert.toInt(page.getSize()));
}
}

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

@ -23,4 +23,6 @@ public interface IAsyncService {
List<ReportDetailVO> getdetailPages(IPage<ReportDetailVO> page, Wrapper queryWrapper, Integer current, Integer size);
List<ReportDetailVO> getdetailPagesExport(IPage<ReportDetailVO> page, Wrapper queryWrapper, Integer current, Integer size);
List<ReportDetailVO> detailsPageV2(IPage<ReportDetailVO> page, Wrapper queryWrapper, Integer current, Integer size);
}

5
blade-service/logpm-report/src/main/java/com/logpm/report/service/ReportDeliverService.java

@ -96,4 +96,9 @@ public interface ReportDeliverService {
List<T> getDeliveryTrainPageReader(Page page, Wrapper query);
List<DeliveryTrainLoadedScanDTO> getDeliveryTrainLoadSacnInvnByIds(List<Long> idBatch);
IPage<ReportDetailVO> detailsPageV2(ReportDetailVO vo, DevilerDetailsQuery query);
void exportDetailsV2(HttpServletResponse response, ReportDetailVO vo, DevilerDetailsQuery query);
}

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

@ -177,5 +177,10 @@ public class AsyncServiceImpl implements IAsyncService {
return detailsPage;
}
@Override
public List<ReportDetailVO> detailsPageV2(IPage<ReportDetailVO> page, Wrapper queryWrapper, Integer current, Integer size) {
return reportDeliverMapeer.getDetailsPageV2(page, queryWrapper);
}
}

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

@ -18,6 +18,7 @@ import com.logpm.report.query.ReportDevilerQuery;
import com.logpm.report.query.StockOrderQuery;
import com.logpm.report.reader.DeliveryCustomerReader;
import com.logpm.report.reader.DeliveryDetailReader;
import com.logpm.report.reader.DeliveryDetailV2Reader;
import com.logpm.report.reader.DeliveryTrainReader;
import com.logpm.report.reader.StockOrderReader;
import com.logpm.report.service.IAsyncService;
@ -64,6 +65,7 @@ public class ReportDeliverServiceImpl implements ReportDeliverService {
private final DeliveryTrainReader deliveryTrainReader;
private final DeliveryCustomerReader deliveryCustomerReader;
private final DeliveryDetailReader deliveryDetailReader;
private final DeliveryDetailV2Reader deliveryDetailV2Reader;
private final StockOrderReader stockOrderReader;
private final IBasicdataWarehouseClient warehouseClient;
private final ReportDataService reportDataService;
@ -406,4 +408,29 @@ public class ReportDeliverServiceImpl implements ReportDeliverService {
return reportDeliverMapeer.getDeliveryTrainLoadSacnInvnByIds(idBatch);
}
@Override
public IPage<ReportDetailVO> detailsPageV2(ReportDetailVO vo, DevilerDetailsQuery query) {
// 添加时间校验
checkDetailDate(vo, query);
Integer current = query.getCurrent();
Integer size = query.getSize();
IPage<ReportDetailVO> page = Condition.getPage(query);
QueryWrapper<ReportDetailVO> queryWrapper = QueryUtil.buildQueryWrapper(vo, ReportDetailVO.class);
detailsCustomQuery(query, queryWrapper);
// 仓库权限
ReportUtil.buildReportWarehouseAuth(vo.getWarehouseName(), query.getWarehouseNameRange(), queryWrapper, warehouseClient);
List<ReportDetailVO> detailsPage = anAsyncService.detailsPageV2(page, queryWrapper, current, size);
return page.setRecords(detailsPage);
}
@Override
public void exportDetailsV2(HttpServletResponse response, ReportDetailVO vo, DevilerDetailsQuery query) {
checkDetailDate(vo, query);
QueryWrapper<ReportDetailVO> queryWrapper = QueryUtil.buildQueryWrapper(vo, ReportDetailVO.class);
detailsCustomQuery(query, queryWrapper);
// 仓库权限
ReportUtil.buildReportWarehouseAuth(vo.getWarehouseName(), query.getWarehouseNameRange(), queryWrapper, warehouseClient);
reportExcelUtil.export(response, deliveryDetailV2Reader, ReportDetailVO.class, queryWrapper, "配送明细报表");
}
}

221
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/CarsLoadController.java

@ -2576,5 +2576,226 @@ public class CarsLoadController {
}
@ResponseBody
@PostMapping("/uploadLoadingPhoto")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "上传装车前图片", notes = "传入loadCarsDTO")
public R uploadLoadingPhoto(@RequestBody LoadCarsDTO loadCarsDTO) {
String method = "############uploadLoadingPhoto: ";
log.info(method + "请求参数{}", loadCarsDTO);
Long loadId = loadCarsDTO.getLoadId();
try{
//当前登录人选择的仓库
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){
log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse);
return R.fail(405,"多仓权限无法操作,请选择仓库");
}
loadCarsDTO.setWarehouseId(myCurrentWarehouse.getId());
if(Objects.isNull(loadId)){
log.warn(method+"配载id为空 loadId={}",loadId);
return R.fail(405,"配载id为空");
}
return carsLoadService.uploadLoadingPhoto(loadCarsDTO);
}catch (CustomerException e){
log.error(e.message,e);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error(method+"系统异常",e);
return R.fail(500,"系统异常");
}
}
@ResponseBody
@PostMapping("/findLoadingPhoto")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "查看装车前图片", notes = "传入loadCarsDTO")
public R findLoadingPhoto(@RequestBody LoadCarsDTO loadCarsDTO) {
String method = "############findLoadingPhoto: ";
log.info(method + "请求参数{}", loadCarsDTO);
Long loadId = loadCarsDTO.getLoadId();
try{
//当前登录人选择的仓库
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){
log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse);
return R.fail(405,"多仓权限无法操作,请选择仓库");
}
loadCarsDTO.setWarehouseId(myCurrentWarehouse.getId());
if(Objects.isNull(loadId)){
log.warn(method+"配载id为空 loadId={}",loadId);
return R.fail(405,"配载id为空");
}
return carsLoadService.findLoadingPhoto(loadCarsDTO);
}catch (CustomerException e){
log.error(e.message,e);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error(method+"系统异常",e);
return R.fail(500,"系统异常");
}
}
@ResponseBody
@PostMapping("/uploadStartPhoto")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "上传发车前图片", notes = "传入loadCarsDTO")
public R uploadStartPhoto(@RequestBody LoadCarsDTO loadCarsDTO) {
String method = "############uploadStartPhoto: ";
log.info(method + "请求参数{}", loadCarsDTO);
Long loadId = loadCarsDTO.getLoadId();
try{
//当前登录人选择的仓库
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){
log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse);
return R.fail(405,"多仓权限无法操作,请选择仓库");
}
loadCarsDTO.setWarehouseId(myCurrentWarehouse.getId());
if(Objects.isNull(loadId)){
log.warn(method+"配载id为空 loadId={}",loadId);
return R.fail(405,"配载id为空");
}
return carsLoadService.uploadStartPhoto(loadCarsDTO);
}catch (CustomerException e){
log.error(e.message,e);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error(method+"系统异常",e);
return R.fail(500,"系统异常");
}
}
@ResponseBody
@PostMapping("/findStartPhoto")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "查看发车前图片", notes = "传入loadCarsDTO")
public R findStartPhoto(@RequestBody LoadCarsDTO loadCarsDTO) {
String method = "############findStartPhoto: ";
log.info(method + "请求参数{}", loadCarsDTO);
Long loadId = loadCarsDTO.getLoadId();
try{
//当前登录人选择的仓库
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){
log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse);
return R.fail(405,"多仓权限无法操作,请选择仓库");
}
loadCarsDTO.setWarehouseId(myCurrentWarehouse.getId());
if(Objects.isNull(loadId)){
log.warn(method+"配载id为空 loadId={}",loadId);
return R.fail(405,"配载id为空");
}
return carsLoadService.findStartPhoto(loadCarsDTO);
}catch (CustomerException e){
log.error(e.message,e);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error(method+"系统异常",e);
return R.fail(500,"系统异常");
}
}
@ResponseBody
@PostMapping("/uploadUnloadPhoto")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "上传卸车图片", notes = "传入loadCarsDTO")
public R uploadUnloadPhoto(@RequestBody LoadCarsDTO loadCarsDTO) {
String method = "############uploadUnloadPhoto: ";
log.info(method + "请求参数{}", loadCarsDTO);
Long loadId = loadCarsDTO.getLoadId();
try{
//当前登录人选择的仓库
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){
log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse);
return R.fail(405,"多仓权限无法操作,请选择仓库");
}
loadCarsDTO.setWarehouseId(myCurrentWarehouse.getId());
if(Objects.isNull(loadId)){
log.warn(method+"配载id为空 loadId={}",loadId);
return R.fail(405,"配载id为空");
}
return carsLoadService.uploadUnloadPhoto(loadCarsDTO);
}catch (CustomerException e){
log.error(e.message,e);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error(method+"系统异常",e);
return R.fail(500,"系统异常");
}
}
@ResponseBody
@PostMapping("/findUnloadPhoto")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "查看卸车图片", notes = "传入loadCarsDTO")
public R findUnloadPhoto(@RequestBody LoadCarsDTO loadCarsDTO) {
String method = "############findUnloadPhoto: ";
log.info(method + "请求参数{}", loadCarsDTO);
Long loadId = loadCarsDTO.getLoadId();
try{
//当前登录人选择的仓库
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){
log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse);
return R.fail(405,"多仓权限无法操作,请选择仓库");
}
loadCarsDTO.setWarehouseId(myCurrentWarehouse.getId());
if(Objects.isNull(loadId)){
log.warn(method+"配载id为空 loadId={}",loadId);
return R.fail(405,"配载id为空");
}
return carsLoadService.findUnloadPhoto(loadCarsDTO);
}catch (CustomerException e){
log.error(e.message,e);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error(method+"系统异常",e);
return R.fail(500,"系统异常");
}
}
@ResponseBody
@PostMapping("/findLinePhoto")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "查看节点图片", notes = "传入loadCarsDTO")
public R findLinePhoto(@RequestBody LoadCarsDTO loadCarsDTO) {
String method = "############findLinePhoto: ";
log.info(method + "请求参数{}", loadCarsDTO);
Long loadId = loadCarsDTO.getLoadId();
try{
//当前登录人选择的仓库
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){
log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse);
return R.fail(405,"多仓权限无法操作,请选择仓库");
}
loadCarsDTO.setWarehouseId(myCurrentWarehouse.getId());
if(Objects.isNull(loadId)){
log.warn(method+"配载id为空 loadId={}",loadId);
return R.fail(405,"配载id为空");
}
return carsLoadService.findLinePhoto(loadCarsDTO);
}catch (CustomerException e){
log.error(e.message,e);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error(method+"系统异常",e);
return R.fail(500,"系统异常");
}
}
}

18
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceMapper.xml

@ -11,7 +11,7 @@
</select>
<select id="advancePageList" resultType="com.logpm.trunkline.vo.TrunklineAdvanceVO">
<select id="advancePageList" resultType="com.logpm.trunkline.vo.TrunklineAdvanceVO">
select lta.*,
lbc.client_name htMallName
from logpm_trunkline_advance lta
@ -147,17 +147,19 @@
</update>
<select id="findIncomingOrderList" resultType="com.logpm.trunkline.vo.TrunklineAdvanceVO">
select lta.*,
max(IF(ltad.package_status = '0',1,0)) isIncoming
from logpm_trunkline_advance_detail ltad
left join logpm_trunkline_advance lta on lta.id = ltad.advance_id
SELECT
lta.*,
count(ltad.id) isIncoming
FROM
logpm_trunkline_advance lta
left join logpm_trunkline_advance_detail ltad on ltad.advance_id = lta.id and ltad.package_status = '0'
WHERE 1=1
and ltad.warehouse_id = #{param.warehouseId}
and lta.warehouse_id = #{param.warehouseId}
<if test="param.incomingType == 4" >
and ltad.train_number = #{param.incomingCode}
and lta.train_number = #{param.incomingCode}
</if>
<if test="param.incomingType == 5" >
and ltad.order_code in
and lta.order_code in
<foreach collection="param.orderCodes" item="item" open="(" separator="," close=")">
#{item}
</foreach>

9
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceMergeMapper.java

@ -0,0 +1,9 @@
package com.logpm.trunkline.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.logpm.trunkline.entity.TrunklineAdvanceMergeEntity;
import org.mapstruct.Mapper;
@Mapper
public interface TrunklineAdvanceMergeMapper extends BaseMapper<TrunklineAdvanceMergeEntity> {
}

4
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineBillladingWaybillMapper.xml

@ -51,7 +51,7 @@
left join (select IFNULL(ltad.waybill_no,'————') waybillNo,
COUNT(ltbp.id) num
from logpm_trunkline_billlading_package ltbp
left join logpm_platform.logpm_trunkline_advance_detail ltad on ltbp.order_package_code = ltad.order_package_code
left join logpm_trunkline_advance_detail ltad on ltbp.order_package_code = ltad.order_package_code
where ltbp.billlading_id=#{billladingId}
group by IFNULL(ltad.waybill_no,'————')) t on t.waybillNo = ltbw.waybill_no
left join logpm_trunkline_billlading ltb on ltb.id = ltbw.billlading_id
@ -140,7 +140,7 @@
left join (select IFNULL(ltad.waybill_no,'————') waybillNo,
COUNT(ltbp.id) num
from logpm_trunkline_billlading_package ltbp
left join logpm_platform.logpm_trunkline_advance_detail ltad on ltbp.order_package_code = ltad.order_package_code
left join logpm_trunkline_advance_detail ltad on ltbp.order_package_code = ltad.order_package_code
where ltbp.billlading_id=#{billladingId}
group by IFNULL(ltad.waybill_no,'————')) t on t.waybillNo = ltbw.waybill_no
left join logpm_trunkline_billlading ltb on ltb.id = ltbw.billlading_id

15
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadLinePhotoMapper.java

@ -0,0 +1,15 @@
package com.logpm.trunkline.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.logpm.trunkline.entity.TrunklineCarsLoadLinePhotoEntity;
import org.apache.ibatis.annotations.Param;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper
public interface TrunklineCarsLoadLinePhotoMapper extends BaseMapper<TrunklineCarsLoadLinePhotoEntity> {
Integer findNumByLoadIdAndNodeIdAndTypeAndPosition(@Param("loadId") Long loadId, @Param("carsLoadLineId") Long carsLoadLineId, @Param("type") Integer type, @Param("position") Integer position);
List<TrunklineCarsLoadLinePhotoEntity> findListByLoadIdAndWarehouseId(@Param("loadId") Long loadId, @Param("warehouseId") Long warehouseId, @Param("type") Integer type, @Param("position") Integer position);
}

34
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadLinePhotoMapper.xml

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.logpm.trunkline.mapper.TrunklineCarsLoadLinePhotoMapper">
<select id="findNumByLoadIdAndNodeIdAndTypeAndPosition" resultType="int">
select IFNULL(count(id),0)
from logpm_trunkline_cars_load_line_photo
where load_id = #{loadId}
and load_line_id = #{carsLoadLineId}
and type = #{type}
<if test="position != null">
and position = #{position}
</if>
and is_deleted = 0
</select>
<select id="findListByLoadIdAndWarehouseId" resultType="com.logpm.trunkline.entity.TrunklineCarsLoadLinePhotoEntity">
select *
from logpm_trunkline_cars_load_line_photo
where load_id = #{loadId}
<if test="warehouseId != null">
and warehouse_id = #{warehouseId}
</if>
<if test="type != null">
and type = #{type}
</if>
<if test="position != null">
and position = #{position}
</if>
and is_deleted = 0
</select>
</mapper>

13
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.xml

@ -507,12 +507,16 @@
</select>
<select id="carsLoadPageList" resultType="com.logpm.trunkline.vo.TrunklineCarsLoadVO">
select *
select ltcl.*,
ltcll.is_loading_photo isLoadingPhoto,
ltcll.is_start_photo isStartPhoto,
ltcll.is_unload_photo isUnloadPhoto
from logpm_trunkline_cars_load ltcl
left join logpm_trunkline_cars_load_line ltcll on ltcll.load_id = ltcl.id and ltcll.node_id = #{param.warehouseId}
where ltcl.is_deleted = 0
and ltcl.load_type != '4'
and ltcl.load_status != '100'
and (ltcl.start_warehouse_id = #{param.warehouseId} or Locate(#{param.warehouseId},ltcl.end_warehouse_ids) > 0 )
and ltcl.start_warehouse_id = #{param.warehouseId}
<if test="param.carsNo != null and param.carsNo != '' ">
and Locate(#{param.carsNo},ltcl.cars_no) > 0
</if>
@ -533,7 +537,10 @@
<select id="arriveUnloadPageList" resultType="com.logpm.trunkline.vo.TrunklineCarsLoadVO">
select ltcl.*,
ltcll.node_status
ltcll.node_status,
ltcll.is_loading_photo isLoadingPhoto,
ltcll.is_start_photo isStartPhoto,
ltcll.is_unload_photo isUnloadPhoto
from logpm_trunkline_cars_load ltcl
left join logpm_trunkline_cars_load_line ltcll on ltcll.load_id = ltcl.id
where ltcl.is_deleted = 0

4
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineLoadSignOrderMapper.xml

@ -45,12 +45,12 @@
and ltlso.load_id = #{param.loadId}
</if>
<if test="param.signStatus != null and param.signStatus == '20'">
and ltlso.sign_status = '20'
and ltlso.sign_status in ('20','30')
and ltlso.sign_time &gt;= #{param.enterTimeStart}
and ltlso.sign_time &lt;= #{param.enterTimeEnd}
</if>
<if test="param.signStatus != null and param.signStatus == '10'">
and ltlso.sign_status != '20'
and ltlso.sign_status not in ('20','30')
and ltlso.create_time &gt;= #{param.enterTimeStart}
and ltlso.create_time &lt;= #{param.enterTimeEnd}
</if>

7
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceMergeService.java

@ -0,0 +1,7 @@
package com.logpm.trunkline.service;
import com.logpm.trunkline.entity.TrunklineAdvanceMergeEntity;
import org.springblade.core.mp.base.BaseService;
public interface ITrunklineAdvanceMergeService extends BaseService<TrunklineAdvanceMergeEntity> {
}

12
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadLinePhotoService.java

@ -0,0 +1,12 @@
package com.logpm.trunkline.service;
import com.logpm.trunkline.entity.TrunklineCarsLoadLinePhotoEntity;
import org.springblade.core.mp.base.BaseService;
import java.util.List;
public interface ITrunklineCarsLoadLinePhotoService extends BaseService<TrunklineCarsLoadLinePhotoEntity> {
Integer findNumByLoadIdAndNodeIdAndTypeAndPosition(Long loadId, Long carsLoadLineId, Integer type, Integer position);
List<TrunklineCarsLoadLinePhotoEntity> findListByLoadIdAndWarehouseId(Long loadId, Long warehouseId, Integer type, Integer position);
}

14
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java

@ -232,4 +232,18 @@ public interface ITrunklineCarsLoadService extends BaseService<TrunklineCarsLoad
R findZeroList(LoadCarsDTO loadCarsDTO);
R unloadByLoadIdBefore(LoadCarsDTO loadCarsDTO);
R uploadLoadingPhoto(LoadCarsDTO loadCarsDTO);
R findLoadingPhoto(LoadCarsDTO loadCarsDTO);
R uploadStartPhoto(LoadCarsDTO loadCarsDTO);
R findStartPhoto(LoadCarsDTO loadCarsDTO);
R uploadUnloadPhoto(LoadCarsDTO loadCarsDTO);
R findUnloadPhoto(LoadCarsDTO loadCarsDTO);
R findLinePhoto(LoadCarsDTO loadCarsDTO);
}

80
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java

@ -110,6 +110,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
private final ISendFanoutService sendFanoutService;
private final IOrderInfoClient orderInfoClient;
private final BladeRedis bladeRedis;
private final ITrunklineAdvanceMergeService advanceMergeService;
@Override
@ -1671,6 +1672,40 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
//把importStandardOuPaiDTOS中orderPackageCode相同的元素去重
importCustomizedOuPaiDTOS = importCustomizedOuPaiDTOS.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(ImportCustomizedOuPaiDTO::getOrderPackageCode))), ArrayList::new));
//提取出合包码不为空的数据
List<ImportCustomizedOuPaiDTO> mergeDataList = importCustomizedOuPaiDTOS.stream().filter(item -> StringUtil.isNotBlank(item.getMergeCode())).collect(Collectors.toList());
//保留合包码为空的数据
importCustomizedOuPaiDTOS = importCustomizedOuPaiDTOS.stream().filter(item -> StringUtil.isBlank(item.getMergeCode())).collect(Collectors.toList());
//把mergeDataList根据合包码进行分组
Map<String, List<ImportCustomizedOuPaiDTO>> mergeDataListMap = mergeDataList.stream().collect(Collectors.groupingBy(ImportCustomizedOuPaiDTO::getMergeCode));
List<ImportCustomizedOuPaiDTO> addSourceList = new ArrayList<>();//需要加回源数据的集合
List<TrunklineAdvanceMergeEntity> addList = new ArrayList<>();//需要加入合包码的数据集合
mergeDataListMap.keySet().forEach(mergeCode ->{
List<ImportCustomizedOuPaiDTO> ls = mergeDataListMap.get(mergeCode);
ls.forEach(item ->{
TrunklineAdvanceMergeEntity trunklineAdvanceMergeEntity = new TrunklineAdvanceMergeEntity();
trunklineAdvanceMergeEntity.setMergeCode(mergeCode);
trunklineAdvanceMergeEntity.setOrderPackageCode(item.getOrderPackageCode());
trunklineAdvanceMergeEntity.setOrderCode(item.getOrderCode());
addList.add(trunklineAdvanceMergeEntity);
});
});
mergeDataListMap.keySet().forEach(mergeCode ->{
List<ImportCustomizedOuPaiDTO> ls = mergeDataListMap.get(mergeCode);
//取出第一条放入需要处理的集合
ImportCustomizedOuPaiDTO importCustomizedOuPaiDTO = ls.get(0);
if(!Objects.isNull(importCustomizedOuPaiDTO)){
importCustomizedOuPaiDTO.setOrderPackageCode(mergeCode);
addSourceList.add(importCustomizedOuPaiDTO);
}
});
importCustomizedOuPaiDTOS.addAll(addSourceList);
//把pacakgeDetailExcelDTOS转成以orderPacakgeCode为一个Set集合
Set<String> importCustomizedOuPaiDTOSet = importCustomizedOuPaiDTOS.stream().map(ImportCustomizedOuPaiDTO::getOrderPackageCode).collect(Collectors.toSet());
@ -1789,6 +1824,8 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
advanceEntity.setCustomerName(importCustomizedOuPaiDTO.getCustomerName());
advanceEntity.setCustomerPhone(importCustomizedOuPaiDTO.getCustomerPhone());
advanceEntity.setCustomerAddress(importCustomizedOuPaiDTO.getCustomerAddress());
advanceEntity.setStoreCode(importCustomizedOuPaiDTO.getStoreCode());
advanceEntity.setStoreName(importCustomizedOuPaiDTO.getStoreName());
advanceEntity.setSystemType("线下");
advanceEntity.setServiceNum(importCustomizedOuPaiDTO.getServiceNum());
advanceEntity.setMatingType("1");
@ -1925,6 +1962,10 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
}
if(CollUtil.isNotEmpty(addList)){
advanceMergeService.saveBatch(addList);
}
long end = System.currentTimeMillis();
log.info("################本次耗时 " + (end - start) + "ms");
@ -1970,6 +2011,39 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
//把importStandardOuPaiDTOS中orderPackageCode相同的元素去重
importStandardOuPaiDTOS = importStandardOuPaiDTOS.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(ImportStandardOuPaiDTO::getOrderPackageCode))), ArrayList::new));
//提取出合包码不为空的数据
List<ImportStandardOuPaiDTO> mergeDataList = importStandardOuPaiDTOS.stream().filter(item -> StringUtil.isNotBlank(item.getMergeCode())).collect(Collectors.toList());
//保留合包码为空的数据
importStandardOuPaiDTOS = importStandardOuPaiDTOS.stream().filter(item -> StringUtil.isBlank(item.getMergeCode())).collect(Collectors.toList());
//把mergeDataList根据合包码进行分组
Map<String, List<ImportStandardOuPaiDTO>> mergeDataListMap = mergeDataList.stream().collect(Collectors.groupingBy(ImportStandardOuPaiDTO::getMergeCode));
List<ImportStandardOuPaiDTO> addSourceList = new ArrayList<>();//需要加回源数据的集合
List<TrunklineAdvanceMergeEntity> addList = new ArrayList<>();//需要加入合包码的数据集合
mergeDataListMap.keySet().forEach(mergeCode ->{
List<ImportStandardOuPaiDTO> ls = mergeDataListMap.get(mergeCode);
ls.forEach(item ->{
TrunklineAdvanceMergeEntity trunklineAdvanceMergeEntity = new TrunklineAdvanceMergeEntity();
trunklineAdvanceMergeEntity.setMergeCode(mergeCode);
trunklineAdvanceMergeEntity.setOrderPackageCode(item.getOrderPackageCode());
trunklineAdvanceMergeEntity.setOrderCode(item.getOrderCode());
addList.add(trunklineAdvanceMergeEntity);
});
});
mergeDataListMap.keySet().forEach(mergeCode ->{
List<ImportStandardOuPaiDTO> ls = mergeDataListMap.get(mergeCode);
//取出第一条放入需要处理的集合
ImportStandardOuPaiDTO importStandardOuPaiDTO = ls.get(0);
if(!Objects.isNull(importStandardOuPaiDTO)){
importStandardOuPaiDTO.setOrderPackageCode(mergeCode);
addSourceList.add(importStandardOuPaiDTO);
}
});
importStandardOuPaiDTOS.addAll(addSourceList);
//把importStandardOuPaiDTOS转成以orderPacakgeCode为一个Set集合
Set<String> importStandardOuPaiDTOSet = importStandardOuPaiDTOS.stream().map(ImportStandardOuPaiDTO::getOrderPackageCode).collect(Collectors.toSet());
@ -2113,6 +2187,8 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
advanceEntity.setCustomerPhone(importStandardOuPaiDTO.getCustomerPhone());
advanceEntity.setCustomerAddress(importStandardOuPaiDTO.getCustomerAddress());
advanceEntity.setSenderFactory(importStandardOuPaiDTO.getSendFactory());
advanceEntity.setStoreCode(importStandardOuPaiDTO.getStoreCode());
advanceEntity.setStoreName(importStandardOuPaiDTO.getStoreName());
advanceEntity.setSystemType("线下");
advanceEntity.setMatingType("1");
advanceEntity.setWaybillStatus("0");
@ -2301,6 +2377,10 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
CompletableFuture.allOf(comlist.toArray(new CompletableFuture[0])).join();
}
if(CollUtil.isNotEmpty(addList)){
advanceMergeService.saveBatch(addList);
}
if(!CollUtil.isEmpty(advanceEntityList)){
carsLoadAsyncService.sendRabbitMessageLoadScanData(advanceEntityList);
}

16
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceMergeServiceImpl.java

@ -0,0 +1,16 @@
package com.logpm.trunkline.service.impl;
import com.logpm.trunkline.entity.TrunklineAdvanceMergeEntity;
import com.logpm.trunkline.mapper.TrunklineAdvanceMergeMapper;
import com.logpm.trunkline.service.ITrunklineAdvanceMergeService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
@Service
@Slf4j
@AllArgsConstructor
public class TrunklineAdvanceMergeServiceImpl extends BaseServiceImpl<TrunklineAdvanceMergeMapper, TrunklineAdvanceMergeEntity> implements ITrunklineAdvanceMergeService {
}

28
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadLinePhotoEntityServiceImpl.java

@ -0,0 +1,28 @@
package com.logpm.trunkline.service.impl;
import com.logpm.trunkline.entity.TrunklineCarsLoadLinePhotoEntity;
import com.logpm.trunkline.mapper.TrunklineCarsLoadLinePhotoMapper;
import com.logpm.trunkline.service.ITrunklineCarsLoadLinePhotoService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@AllArgsConstructor
@Slf4j
public class TrunklineCarsLoadLinePhotoEntityServiceImpl extends BaseServiceImpl<TrunklineCarsLoadLinePhotoMapper, TrunklineCarsLoadLinePhotoEntity> implements ITrunklineCarsLoadLinePhotoService {
@Override
public Integer findNumByLoadIdAndNodeIdAndTypeAndPosition(Long loadId, Long carsLoadLineId, Integer type, Integer position) {
return baseMapper.findNumByLoadIdAndNodeIdAndTypeAndPosition(loadId,carsLoadLineId,type,position);
}
@Override
public List<TrunklineCarsLoadLinePhotoEntity> findListByLoadIdAndWarehouseId(Long loadId, Long warehouseId, Integer type, Integer position) {
return baseMapper.findListByLoadIdAndWarehouseId(loadId,warehouseId, type, position);
}
}

638
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java

@ -127,6 +127,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
private final IAftersalesWorkOrderClient aftersalesWorkOrderClient;
private final ITrunklineWaybillTrackService waybillTrackService;
private final ITrunklineScanZeroDetailService scanZeroDetailService;
private final ITrunklineCarsLoadLinePhotoService carsLoadLinePhotoService;
@Override
public IPage<TrunklineCarsLoadVO> loadCarsPageList(LoadCarsDTO loadCarsDTO) {
@ -239,6 +240,20 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
log.warn("#############startCarByLoadId: 未有权限进行该操作 nowWarehouseId={} warehouseId={}", nowWarehouseId, warehouseId);
throw new CustomerException(400, "未有权限进行该操作");
}
//查询当前登录人仓库的节点
TrunklineCarsLoadLineEntity currentCarsLoadLineEntity = trunklineCarsLoadLineService.findEntityByLoadIdAndNodeId(loadId, warehouseId);
if(Objects.isNull(currentCarsLoadLineEntity)){
log.warn("#############startCarByLoadId: 配载计划节点信息不存在 nowWarehouseId={} warehouseId={}", nowWarehouseId, warehouseId);
throw new CustomerException(400, "配载计划节点信息不存在");
}
//限制发车之前上传图片
// Integer isStartPhoto = currentCarsLoadLineEntity.getIsStartPhoto();
// if(NumberUtil.equals(isStartPhoto, 0)){
// log.warn("#############startCarByLoadId: 节点还未上传发车前图片 nowWarehouseId={} warehouseId={}", nowWarehouseId, warehouseId);
// throw new CustomerException(400, "节点还未上传发车前图片");
// }
if (StringUtil.isNotBlank(fullLoadRate)) {
carsLoadEntity.setFullLoadRate(new BigDecimal(fullLoadRate));
}
@ -304,11 +319,11 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
// throw new CustomerException(405,"终点仓数据不存在");
// }
//查询当前登录人仓库的节点
TrunklineCarsLoadLineEntity currentCarsLoadLineEntity = trunklineCarsLoadLineService.findEntityByLoadIdAndNodeId(loadId, warehouseId);
if (Objects.isNull(currentCarsLoadLineEntity)) {
log.warn("#############startCarByLoadId: 未有权限进行该操作 loadId={} nodeId={}", loadId, warehouseId);
throw new CustomerException(405, "未有权限进行该操作");
}
// TrunklineCarsLoadLineEntity currentCarsLoadLineEntity = trunklineCarsLoadLineService.findEntityByLoadIdAndNodeId(loadId, warehouseId);
// if (Objects.isNull(currentCarsLoadLineEntity)) {
// log.warn("#############startCarByLoadId: 未有权限进行该操作 loadId={} nodeId={}", loadId, warehouseId);
// throw new CustomerException(405, "未有权限进行该操作");
// }
// if(endCarsLoadLineEntity.getId().equals(currentCarsLoadLineEntity.getId())){
// log.warn("#############startCarByLoadId: 终点仓不能发车 loadId={}",loadId);
// throw new CustomerException(405,"终点仓不能发车");
@ -1805,11 +1820,586 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
Integer loadingNum = custmoerUnloadNumVO.getLoadingNum();
Integer unloadNum = custmoerUnloadNumVO.getUnloadNum();
Map<String,Object> map = new HashMap<>();
if(NumberUtil.equals(loadingNum,unloadNum)){
return R.status(true);
map.put("status",1);
return R.data(map);
}else{
return R.status(false);
map.put("status",0);
return R.data(map);
}
}
@Override
public R uploadLoadingPhoto(LoadCarsDTO loadCarsDTO) {
Long loadId = loadCarsDTO.getLoadId();
Long warehouseId = loadCarsDTO.getWarehouseId();
TrunklineCarsLoadLineEntity carsLoadLine = trunklineCarsLoadLineService.findEntityByLoadIdAndNodeId(loadId, warehouseId);
if(Objects.isNull(carsLoadLine)){
log.warn("###############uploadLoadingPhoto: 节点信息不存在 loadId={} warehouseId={}",loadId,warehouseId);
return R.fail(405,"节点信息不存在");
}
String nodeStatus = carsLoadLine.getNodeStatus();
Long carsLoadLineId = carsLoadLine.getId();
if("0".equals(nodeStatus)){
log.warn("###############uploadLoadingPhoto: 车辆还未到达当前节点 loadId={} warehouseId={} nodeStatus={}",loadId,warehouseId,nodeStatus);
return R.fail(405,"车辆还未到达当前节点");
}
if("20".equals(nodeStatus)){
log.warn("###############uploadLoadingPhoto: 当前节点已发车 loadId={} warehouseId={} nodeStatus={}",loadId,warehouseId,nodeStatus);
return R.fail(405,"当前节点已发车");
}
List<TrunklineCarsLoadLinePhotoEntity> addUrlList = loadCarsDTO.getAddUrlList();
List<Long> removeUrlList = loadCarsDTO.getRemoveUrlList();
if(CollUtil.isNotEmpty(removeUrlList)){
carsLoadLinePhotoService.deleteLogic(removeUrlList);
}
if(CollUtil.isNotEmpty(addUrlList)){
//批量新增
addUrlList.forEach(carsLoadLinePhoto -> {
carsLoadLinePhoto.setLoadId(loadId);
carsLoadLinePhoto.setWarehouseId(warehouseId);
carsLoadLinePhoto.setLoadLineId(carsLoadLineId);
});
carsLoadLinePhotoService.saveBatch(addUrlList);
}
Integer num = carsLoadLinePhotoService.findNumByLoadIdAndNodeIdAndTypeAndPosition(loadId,carsLoadLineId,10,2);
TrunklineCarsLoadLineEntity updateEntity = new TrunklineCarsLoadLineEntity();
updateEntity.setId(carsLoadLineId);
if(NumberUtil.equals(0,num)){
updateEntity.setIsLoadingPhoto(0);
}else{
updateEntity.setIsLoadingPhoto(1);
}
trunklineCarsLoadLineService.updateById(updateEntity);
return R.success("上传成功");
}
@Override
public R findLoadingPhoto(LoadCarsDTO loadCarsDTO) {
Long loadId = loadCarsDTO.getLoadId();
Long warehouseId = loadCarsDTO.getWarehouseId();
Map<String,Object> map = new HashMap<>();
List<TrunklineCarsLoadLinePhotoEntity> ls = carsLoadLinePhotoService.findListByLoadIdAndWarehouseId(loadId,warehouseId,10,2);
//把qualityList通过position进行分组
// List<TrunklineCarsLoadLinePhotoEntity> listQian = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> listHou = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> listZuo = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> listYou = new ArrayList<>();
// Map<Integer, List<TrunklineCarsLoadLinePhotoEntity>> listMap = ls.stream().collect(Collectors.groupingBy(TrunklineCarsLoadLinePhotoEntity::getPosition));
// listMap.keySet().forEach(key -> {
// List<TrunklineCarsLoadLinePhotoEntity> trunklineCarsLoadLinePhotoEntities = listMap.get(key);
// if(NumberUtil.equals(1,key)){//后
// listQian.addAll(trunklineCarsLoadLinePhotoEntities);
// }else if(NumberUtil.equals(2,key)){//后
// listHou.addAll(trunklineCarsLoadLinePhotoEntities);
// }else if(NumberUtil.equals(3,key)){
// listZuo.addAll(trunklineCarsLoadLinePhotoEntities);
// }else if(NumberUtil.equals(4,key)){
// listYou.addAll(trunklineCarsLoadLinePhotoEntities);
// }
// });
//
// map.put("listQian",listQian);
// map.put("listHou",listHou);
// map.put("listZuo",listZuo);
// map.put("listYou",listYou);
// Map<String,Object> loadingObject = new HashMap<>();
// loadingObject.put("loadingList",ls);
return R.data(ls);
}
@Override
public R uploadStartPhoto(LoadCarsDTO loadCarsDTO) {
Long loadId = loadCarsDTO.getLoadId();
Long warehouseId = loadCarsDTO.getWarehouseId();
TrunklineCarsLoadLineEntity carsLoadLine = trunklineCarsLoadLineService.findEntityByLoadIdAndNodeId(loadId, warehouseId);
if(Objects.isNull(carsLoadLine)){
log.warn("###############uploadStartPhoto: 节点信息不存在 loadId={} warehouseId={}",loadId,warehouseId);
return R.fail(405,"节点信息不存在");
}
String nodeStatus = carsLoadLine.getNodeStatus();
Long carsLoadLineId = carsLoadLine.getId();
if("0".equals(nodeStatus)){
log.warn("###############uploadStartPhoto: 车辆还未到达当前节点 loadId={} warehouseId={} nodeStatus={}",loadId,warehouseId,nodeStatus);
return R.fail(405,"节点信息不存在");
}
if("20".equals(nodeStatus)){
log.warn("###############uploadStartPhoto: 当前节点已发车 loadId={} warehouseId={} nodeStatus={}",loadId,warehouseId,nodeStatus);
return R.fail(405,"当前节点已发车");
}
List<TrunklineCarsLoadLinePhotoEntity> addUrlList = loadCarsDTO.getAddUrlList();
List<Long> removeUrlList = loadCarsDTO.getRemoveUrlList();
if(CollUtil.isNotEmpty(removeUrlList)){
carsLoadLinePhotoService.deleteLogic(removeUrlList);
}
if(CollUtil.isNotEmpty(addUrlList)){
//批量新增
addUrlList.forEach(carsLoadLinePhoto -> {
carsLoadLinePhoto.setLoadId(loadId);
carsLoadLinePhoto.setWarehouseId(warehouseId);
carsLoadLinePhoto.setLoadLineId(carsLoadLineId);
});
carsLoadLinePhotoService.saveBatch(addUrlList);
}
TrunklineCarsLoadLineEntity updateEntity = new TrunklineCarsLoadLineEntity();
updateEntity.setId(carsLoadLineId);
List<TrunklineCarsLoadLinePhotoEntity> qualityList = carsLoadLinePhotoService.findListByLoadIdAndWarehouseId(loadId, warehouseId, 20, null);
//把qualityList通过position=2进行过滤生成新的list
List<TrunklineCarsLoadLinePhotoEntity> qualityListHou = qualityList.stream().filter(item -> item.getPosition().equals(2)).collect(Collectors.toList());
if(qualityListHou.size() == 0){
updateEntity.setIsStartPhoto(0);
trunklineCarsLoadLineService.updateById(updateEntity);
return R.success("上传成功");
}
List<TrunklineCarsLoadLinePhotoEntity> qualityListZuo = qualityList.stream().filter(item -> item.getPosition().equals(3)).collect(Collectors.toList());
if(qualityListZuo.size() == 0){
updateEntity.setIsStartPhoto(0);
trunklineCarsLoadLineService.updateById(updateEntity);
return R.success("上传成功");
}
List<TrunklineCarsLoadLinePhotoEntity> qualityListYou = qualityList.stream().filter(item -> item.getPosition().equals(4)).collect(Collectors.toList());
if(qualityListYou.size() == 0){
updateEntity.setIsStartPhoto(0);
trunklineCarsLoadLineService.updateById(updateEntity);
return R.success("上传成功");
}
List<TrunklineCarsLoadLinePhotoEntity> yubuList = carsLoadLinePhotoService.findListByLoadIdAndWarehouseId(loadId, warehouseId, 21, null);
//把qualityList通过position=2进行过滤生成新的list
List<TrunklineCarsLoadLinePhotoEntity> yubuListHou = yubuList.stream().filter(item -> item.getPosition().equals(2)).collect(Collectors.toList());
if(yubuListHou.size() == 0){
updateEntity.setIsStartPhoto(0);
trunklineCarsLoadLineService.updateById(updateEntity);
return R.success("上传成功");
}
List<TrunklineCarsLoadLinePhotoEntity> yubuListZuo = yubuList.stream().filter(item -> item.getPosition().equals(3)).collect(Collectors.toList());
if(yubuListZuo.size() == 0){
updateEntity.setIsStartPhoto(0);
trunklineCarsLoadLineService.updateById(updateEntity);
return R.success("上传成功");
}
List<TrunklineCarsLoadLinePhotoEntity> yubuListYou = yubuList.stream().filter(item -> item.getPosition().equals(4)).collect(Collectors.toList());
if(yubuListYou.size() == 0){
updateEntity.setIsStartPhoto(0);
trunklineCarsLoadLineService.updateById(updateEntity);
return R.success("上传成功");
}
updateEntity.setIsStartPhoto(1);
trunklineCarsLoadLineService.updateById(updateEntity);
return R.success("上传成功");
}
@Override
public R findStartPhoto(LoadCarsDTO loadCarsDTO) {
Long loadId = loadCarsDTO.getLoadId();
Long warehouseId = loadCarsDTO.getWarehouseId();
// Map<String,Object> qualityMap = new HashMap<>();
List<TrunklineCarsLoadLinePhotoEntity> ls = new ArrayList<>();
List<TrunklineCarsLoadLinePhotoEntity> qualityList = carsLoadLinePhotoService.findListByLoadIdAndWarehouseId(loadId, warehouseId, 20, null);
//把qualityList通过position进行分组
// List<TrunklineCarsLoadLinePhotoEntity> qualityListQian = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> qualityListHou = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> qualityListZuo = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> qualityListYou = new ArrayList<>();
// Map<Integer, List<TrunklineCarsLoadLinePhotoEntity>> qualityListMap = qualityList.stream().collect(Collectors.groupingBy(TrunklineCarsLoadLinePhotoEntity::getPosition));
// qualityListMap.keySet().forEach(key -> {
// List<TrunklineCarsLoadLinePhotoEntity> trunklineCarsLoadLinePhotoEntities = qualityListMap.get(key);
// if(NumberUtil.equals(1,key)){//后
// qualityListQian.addAll(trunklineCarsLoadLinePhotoEntities);
// }else if(NumberUtil.equals(2,key)){//后
// qualityListHou.addAll(trunklineCarsLoadLinePhotoEntities);
// }else if(NumberUtil.equals(3,key)){
// qualityListZuo.addAll(trunklineCarsLoadLinePhotoEntities);
// }else if(NumberUtil.equals(4,key)){
// qualityListYou.addAll(trunklineCarsLoadLinePhotoEntities);
// }
// });
//
// qualityMap.put("qualityListQian",qualityListQian);
// qualityMap.put("qualityListHou",qualityListHou);
// qualityMap.put("qualityListZuo",qualityListZuo);
// qualityMap.put("qualityListYou",qualityListYou);
// Map<String,Object> yubuMap = new HashMap<>();
// List<TrunklineCarsLoadLinePhotoEntity> yubuListQian = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> yubuListHou = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> yubuListZuo = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> yubuListYou = new ArrayList<>();
List<TrunklineCarsLoadLinePhotoEntity> yubuList = carsLoadLinePhotoService.findListByLoadIdAndWarehouseId(loadId, warehouseId, 21, null);
//把qualityList通过position进行分组
// Map<Integer, List<TrunklineCarsLoadLinePhotoEntity>> yubuListMap = yubuList.stream().collect(Collectors.groupingBy(TrunklineCarsLoadLinePhotoEntity::getPosition));
// yubuListMap.keySet().forEach(key -> {
// List<TrunklineCarsLoadLinePhotoEntity> trunklineCarsLoadLinePhotoEntities = yubuListMap.get(key);
// if(NumberUtil.equals(1,key)){//后
// yubuListQian.addAll(trunklineCarsLoadLinePhotoEntities);
// }else if(NumberUtil.equals(2,key)){//后
// yubuListHou.addAll(trunklineCarsLoadLinePhotoEntities);
// }else if(NumberUtil.equals(3,key)){
// yubuListZuo.addAll(trunklineCarsLoadLinePhotoEntities);
// }else if(NumberUtil.equals(4,key)){
// yubuListYou.addAll(trunklineCarsLoadLinePhotoEntities);
// }
// });
//
// yubuMap.put("yubuListQian",yubuListQian);
// yubuMap.put("yubuListHou",yubuListHou);
// yubuMap.put("yubuListZuo",yubuListZuo);
// yubuMap.put("yubuListYou",yubuListYou);
// Map<String,Object> map = new HashMap<>();
// map.put("qualityList",qualityList);
// map.put("yubuList",yubuList);
ls.addAll(qualityList);
ls.addAll(yubuList);
return R.data(ls);
}
@Override
public R uploadUnloadPhoto(LoadCarsDTO loadCarsDTO) {
Long loadId = loadCarsDTO.getLoadId();
Long warehouseId = loadCarsDTO.getWarehouseId();
TrunklineCarsLoadLineEntity carsLoadLine = trunklineCarsLoadLineService.findEntityByLoadIdAndNodeId(loadId, warehouseId);
if(Objects.isNull(carsLoadLine)){
log.warn("###############uploadUnloadPhoto: 节点信息不存在 loadId={} warehouseId={}",loadId,warehouseId);
return R.fail(405,"节点信息不存在");
}
String nodeStatus = carsLoadLine.getNodeStatus();
Long carsLoadLineId = carsLoadLine.getId();
if("0".equals(nodeStatus)){
log.warn("###############uploadUnloadPhoto: 车辆还未到达当前节点 loadId={} warehouseId={} nodeStatus={}",loadId,warehouseId,nodeStatus);
return R.fail(405,"节点信息不存在");
}
if("20".equals(nodeStatus)){
log.warn("###############uploadUnloadPhoto: 当前节点已发车 loadId={} warehouseId={} nodeStatus={}",loadId,warehouseId,nodeStatus);
return R.fail(405,"当前节点已发车");
}
String unloadStatus = carsLoadLine.getUnloadStatus();
if(!"0".equals(unloadStatus)){
log.warn("###############uploadUnloadPhoto: 当前节点已卸车确认 loadId={} warehouseId={} unloadStatus={}",loadId,warehouseId,unloadStatus);
return R.fail(405,"当前节点已卸车确认");
}
List<TrunklineCarsLoadLinePhotoEntity> addUrlList = loadCarsDTO.getAddUrlList();
List<Long> removeUrlList = loadCarsDTO.getRemoveUrlList();
if(CollUtil.isNotEmpty(removeUrlList)){
carsLoadLinePhotoService.deleteLogic(removeUrlList);
}
if(CollUtil.isNotEmpty(addUrlList)){
//批量新增
addUrlList.forEach(carsLoadLinePhoto -> {
carsLoadLinePhoto.setLoadId(loadId);
carsLoadLinePhoto.setWarehouseId(warehouseId);
carsLoadLinePhoto.setLoadLineId(carsLoadLineId);
});
carsLoadLinePhotoService.saveBatch(addUrlList);
}
TrunklineCarsLoadLineEntity updateEntity = new TrunklineCarsLoadLineEntity();
updateEntity.setId(carsLoadLineId);
List<TrunklineCarsLoadLinePhotoEntity> qualityList = carsLoadLinePhotoService.findListByLoadIdAndWarehouseId(loadId, warehouseId, 30, null);
//把qualityList通过position=2进行过滤生成新的list
List<TrunklineCarsLoadLinePhotoEntity> qualityListHou = qualityList.stream().filter(item -> item.getPosition().equals(2)).collect(Collectors.toList());
if(qualityListHou.size() == 0){
updateEntity.setIsUnloadPhoto(0);
trunklineCarsLoadLineService.updateById(updateEntity);
return R.success("上传成功");
}
List<TrunklineCarsLoadLinePhotoEntity> qualityListZuo = qualityList.stream().filter(item -> item.getPosition().equals(3)).collect(Collectors.toList());
if(qualityListZuo.size() == 0){
updateEntity.setIsUnloadPhoto(0);
trunklineCarsLoadLineService.updateById(updateEntity);
return R.success("上传成功");
}
List<TrunklineCarsLoadLinePhotoEntity> qualityListYou = qualityList.stream().filter(item -> item.getPosition().equals(4)).collect(Collectors.toList());
if(qualityListYou.size() == 0){
updateEntity.setIsUnloadPhoto(0);
trunklineCarsLoadLineService.updateById(updateEntity);
return R.success("上传成功");
}
List<TrunklineCarsLoadLinePhotoEntity> protectionList = carsLoadLinePhotoService.findListByLoadIdAndWarehouseId(loadId, warehouseId, 31, 2);
if(protectionList.size() == 0){
updateEntity.setIsUnloadPhoto(0);
trunklineCarsLoadLineService.updateById(updateEntity);
return R.success("上传成功");
}
updateEntity.setIsUnloadPhoto(1);
trunklineCarsLoadLineService.updateById(updateEntity);
return R.success("上传成功");
}
@Override
public R findUnloadPhoto(LoadCarsDTO loadCarsDTO) {
Long loadId = loadCarsDTO.getLoadId();
Long warehouseId = loadCarsDTO.getWarehouseId();
Map<String,Object> qualityMap = new HashMap<>();
List<TrunklineCarsLoadLinePhotoEntity> ls = new ArrayList<>();
List<TrunklineCarsLoadLinePhotoEntity> qualityList = carsLoadLinePhotoService.findListByLoadIdAndWarehouseId(loadId, warehouseId, 30, null);
//把qualityList通过position进行分组
// List<TrunklineCarsLoadLinePhotoEntity> qualityListQian = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> qualityListHou = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> qualityListZuo = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> qualityListYou = new ArrayList<>();
// Map<Integer, List<TrunklineCarsLoadLinePhotoEntity>> qualityListMap = qualityList.stream().collect(Collectors.groupingBy(TrunklineCarsLoadLinePhotoEntity::getPosition));
// qualityListMap.keySet().forEach(key -> {
// List<TrunklineCarsLoadLinePhotoEntity> trunklineCarsLoadLinePhotoEntities = qualityListMap.get(key);
// if(NumberUtil.equals(1,key)){//后
// qualityListQian.addAll(trunklineCarsLoadLinePhotoEntities);
// }else if(NumberUtil.equals(2,key)){//后
// qualityListHou.addAll(trunklineCarsLoadLinePhotoEntities);
// }else if(NumberUtil.equals(3,key)){
// qualityListZuo.addAll(trunklineCarsLoadLinePhotoEntities);
// }else if(NumberUtil.equals(4,key)){
// qualityListYou.addAll(trunklineCarsLoadLinePhotoEntities);
// }
// });
//
// qualityMap.put("qualityListQian",qualityListQian);
// qualityMap.put("qualityListHou",qualityListHou);
// qualityMap.put("qualityListZuo",qualityListZuo);
// qualityMap.put("qualityListYou",qualityListYou);
//
//
// Map<String,Object> protectionMap = new HashMap<>();
List<TrunklineCarsLoadLinePhotoEntity> protectionList = carsLoadLinePhotoService.findListByLoadIdAndWarehouseId(loadId, warehouseId, 31, null);
// protectionMap.put("protectionList",protectionList);
// Map<String,Object> map = new HashMap<>();
// map.put("unloadQualityList",qualityList);
// map.put("protectionList",protectionList);
ls.addAll(qualityList);
ls.addAll(protectionList);
return R.data(ls);
}
@Override
public R findLinePhoto(LoadCarsDTO loadCarsDTO) {
Long loadId = loadCarsDTO.getLoadId();
List<Map<String, Object>> resultList = new ArrayList<>();
List<TrunklineCarsLoadLinePhotoEntity> linePhotoEntityList = carsLoadLinePhotoService.findListByLoadIdAndWarehouseId(loadId, null, null, null);
//把linePhotoEntityList中所有元素的loadLineId放入一个Set集合
Set<Long> loadLineIdSet = linePhotoEntityList.stream().map(TrunklineCarsLoadLinePhotoEntity::getLoadLineId).collect(Collectors.toSet());
if(CollUtil.isNotEmpty(loadLineIdSet)){
QueryWrapper<TrunklineCarsLoadLineEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.in("id",loadLineIdSet);
List<TrunklineCarsLoadLineEntity> carsLoadLineList = trunklineCarsLoadLineService.list(queryWrapper);
//把carsLoadLineList转化为以id为key的map
Map<Long, TrunklineCarsLoadLineEntity> carsLoadLineMap = carsLoadLineList.stream().collect(Collectors.toMap(TrunklineCarsLoadLineEntity::getId, Function.identity()));
//把linePhotoEntityList中所有元素以loadLineId进行分组
Map<Long, List<TrunklineCarsLoadLinePhotoEntity>> linePhotoMap = linePhotoEntityList.stream().collect(Collectors.groupingBy(TrunklineCarsLoadLinePhotoEntity::getLoadLineId));
linePhotoMap.keySet().forEach(loadLineId -> {
Map<String,Object> map = new HashMap<>();
List<TrunklineCarsLoadLinePhotoEntity> trunklineCarsLoadLinePhotoEntities = linePhotoMap.get(loadLineId);
TrunklineCarsLoadLineEntity trunklineCarsLoadLineEntity = carsLoadLineMap.get(loadLineId);
map.put("carsLoadLineEntity",trunklineCarsLoadLineEntity);
Map<String,Object> loadingMap = new HashMap<>();
//把trunklineCarsLoadLinePhotoEntities通过type=10进行过滤
List<TrunklineCarsLoadLinePhotoEntity> ls = trunklineCarsLoadLinePhotoEntities.stream().filter(item -> item.getType().equals(10)).collect(Collectors.toList());
//把qualityList通过position进行分组
// List<TrunklineCarsLoadLinePhotoEntity> listQian = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> listHou = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> listZuo = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> listYou = new ArrayList<>();
// Map<Integer, List<TrunklineCarsLoadLinePhotoEntity>> listMap = ls.stream().collect(Collectors.groupingBy(TrunklineCarsLoadLinePhotoEntity::getPosition));
// listMap.keySet().forEach(key -> {
// List<TrunklineCarsLoadLinePhotoEntity> list = listMap.get(key);
// if(NumberUtil.equals(1,key)){//后
// listQian.addAll(list);
// }else if(NumberUtil.equals(2,key)){//后
// listHou.addAll(list);
// }else if(NumberUtil.equals(3,key)){
// listZuo.addAll(list);
// }else if(NumberUtil.equals(4,key)){
// listYou.addAll(list);
// }
// });
//
// loadingMap.put("listQian",listQian);
// loadingMap.put("listHou",listHou);
// loadingMap.put("listZuo",listZuo);
// loadingMap.put("listYou",listYou);
// Map<String,Object> loadingObject = new HashMap<>();
// loadingObject.put("loadingList",ls);
map.put("loadingObject",ls);
//发车
// Map<String,Object> qualityMap = new HashMap<>();
List<TrunklineCarsLoadLinePhotoEntity> qualityList = trunklineCarsLoadLinePhotoEntities.stream().filter(item -> item.getType().equals(20)).collect(Collectors.toList());
//把qualityList通过position进行分组
// List<TrunklineCarsLoadLinePhotoEntity> qualityListQian = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> qualityListHou = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> qualityListZuo = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> qualityListYou = new ArrayList<>();
// Map<Integer, List<TrunklineCarsLoadLinePhotoEntity>> qualityListMap = qualityList.stream().collect(Collectors.groupingBy(TrunklineCarsLoadLinePhotoEntity::getPosition));
// qualityListMap.keySet().forEach(key -> {
// List<TrunklineCarsLoadLinePhotoEntity> list = qualityListMap.get(key);
// if(NumberUtil.equals(1,key)){//后
// qualityListQian.addAll(list);
// }else if(NumberUtil.equals(2,key)){//后
// qualityListHou.addAll(list);
// }else if(NumberUtil.equals(3,key)){
// qualityListZuo.addAll(list);
// }else if(NumberUtil.equals(4,key)){
// qualityListYou.addAll(list);
// }
// });
//
// qualityMap.put("qualityListQian",qualityListQian);
// qualityMap.put("qualityListHou",qualityListHou);
// qualityMap.put("qualityListZuo",qualityListZuo);
// qualityMap.put("qualityListYou",qualityListYou);
// Map<String,Object> yubuMap = new HashMap<>();
// List<TrunklineCarsLoadLinePhotoEntity> yubuListQian = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> yubuListHou = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> yubuListZuo = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> yubuListYou = new ArrayList<>();
List<TrunklineCarsLoadLinePhotoEntity> yubuList = trunklineCarsLoadLinePhotoEntities.stream().filter(item -> item.getType().equals(21)).collect(Collectors.toList());
//把qualityList通过position进行分组
// Map<Integer, List<TrunklineCarsLoadLinePhotoEntity>> yubuListMap = yubuList.stream().collect(Collectors.groupingBy(TrunklineCarsLoadLinePhotoEntity::getPosition));
// yubuListMap.keySet().forEach(key -> {
// List<TrunklineCarsLoadLinePhotoEntity> list = yubuListMap.get(key);
// if(NumberUtil.equals(1,key)){//后
// yubuListQian.addAll(list);
// }else if(NumberUtil.equals(2,key)){//后
// yubuListHou.addAll(list);
// }else if(NumberUtil.equals(3,key)){
// yubuListZuo.addAll(list);
// }else if(NumberUtil.equals(4,key)){
// yubuListYou.addAll(list);
// }
// });
//
// yubuMap.put("yubuListQian",yubuListQian);
// yubuMap.put("yubuListHou",yubuListHou);
// yubuMap.put("yubuListZuo",yubuListZuo);
// yubuMap.put("yubuListYou",yubuListYou);
// Map<String,Object> startObject = new HashMap<>();
// startObject.put("qualityList",qualityList);
// startObject.put("yubuList",yubuList);
map.put("startObject",qualityList.addAll(yubuList));
//卸车
Map<String,Object> unloadQualityMap = new HashMap<>();
List<TrunklineCarsLoadLinePhotoEntity> unloadQualityList = trunklineCarsLoadLinePhotoEntities.stream().filter(item -> item.getType().equals(30)).collect(Collectors.toList());
//把qualityList通过position进行分组
// List<TrunklineCarsLoadLinePhotoEntity> unloadQualityListQian = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> unloadQualityListHou = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> unloadQualityListZuo = new ArrayList<>();
// List<TrunklineCarsLoadLinePhotoEntity> unloadQualityListYou = new ArrayList<>();
// Map<Integer, List<TrunklineCarsLoadLinePhotoEntity>> unloadQualityListMap = unloadQualityList.stream().collect(Collectors.groupingBy(TrunklineCarsLoadLinePhotoEntity::getPosition));
// qualityListMap.keySet().forEach(key -> {
// List<TrunklineCarsLoadLinePhotoEntity> list = unloadQualityListMap.get(key);
// if(NumberUtil.equals(1,key)){//后
// unloadQualityListQian.addAll(list);
// }else if(NumberUtil.equals(2,key)){//后
// unloadQualityListHou.addAll(list);
// }else if(NumberUtil.equals(3,key)){
// unloadQualityListZuo.addAll(list);
// }else if(NumberUtil.equals(4,key)){
// unloadQualityListYou.addAll(list);
// }
// });
//
// unloadQualityMap.put("unloadQualityListQian",unloadQualityListQian);
// unloadQualityMap.put("unloadQualityListHou",unloadQualityListHou);
// unloadQualityMap.put("unloadQualityListZuo",unloadQualityListZuo);
// unloadQualityMap.put("unloadQualityListYou",unloadQualityListYou);
// Map<String,Object> protectionMap = new HashMap<>();
List<TrunklineCarsLoadLinePhotoEntity> protectionList = trunklineCarsLoadLinePhotoEntities.stream().filter(item -> item.getType().equals(31)).collect(Collectors.toList());
// protectionMap.put("protectionList",protectionList);
// Map<String,Object> unloadObject = new HashMap<>();
// unloadObject.put("unloadQualityList",unloadQualityList);
// unloadObject.put("protectionList",protectionList);
map.put("unloadObject",unloadQualityList.addAll(protectionList));
resultList.add(map);
});
}
return R.data(resultList);
}
@ -2834,6 +3424,13 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
return R.fail(405, "节点不是到车状态");
}
//限制装车之前上传图片
// Integer isLoadingPhoto = carsLoadLineEntity.getIsLoadingPhoto();
// if(NumberUtil.equals(isLoadingPhoto,0)){
// log.warn("##############loadingScan: 当前节点还未上传装车前照片 isLoadingPhoto={}", isLoadingPhoto);
// return R.fail(405, "当前节点还未上传装车前照片");
// }
BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseClient.getEntityWarehouseId(warehouseId);
if (Objects.isNull(basicdataWarehouseEntity)) {
log.warn("##################loadingScan: 仓库信息不存在 warehouseId={}", warehouseId);
@ -3178,6 +3775,13 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
return R.fail(405, "节点不是到车状态");
}
//限制装车之前上传图片
// Integer isLoadingPhoto = carsLoadLineEntity.getIsLoadingPhoto();
// if(NumberUtil.equals(isLoadingPhoto,0)){
// log.warn("##############loadingZero: 当前节点还未上传装车前照片 isLoadingPhoto={}", isLoadingPhoto);
// return R.fail(405, "当前节点还未上传装车前照片");
// }
Long trayId = null;
String trayName = null;
if (!StringUtil.isBlank(trayCode)) {
@ -6356,6 +6960,19 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
return R.fail(405, "车辆不在当前仓");
}
TrunklineCarsLoadLineEntity loadLineEntity = trunklineCarsLoadLineService.findEntityByLoadIdAndNodeId(loadId, warehouseId);
if(Objects.isNull(loadLineEntity)){
log.warn("##############manualLoading: 配载计划节点信息不存在 loadId={} warehouseId={}", loadId,warehouseId);
return R.fail(405, "配载计划节点信息不存在");
}
//限制装车之前上传图片
// Integer isLoadingPhoto = loadLineEntity.getIsLoadingPhoto();
// if(NumberUtil.equals(isLoadingPhoto,0)){
// log.warn("##############manualLoading: 当前节点还未上传装车前照片 isLoadingPhoto={}", isLoadingPhoto);
// return R.fail(405, "当前节点还未上传装车前照片");
// }
String tenantId = AuthUtil.getTenantId();
Long userId = AuthUtil.getUserId();
Long deptId = Func.firstLong(AuthUtil.getDeptId());
@ -7425,6 +8042,13 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
return R.fail(405, "节点不是到车状态");
}
//限制装车之前上传图片
// Integer isLoadingPhoto = carsLoadLineEntity.getIsLoadingPhoto();
// if(NumberUtil.equals(isLoadingPhoto,0)){
// log.warn("##############loadingTray: 当前节点还未上传装车前照片 isLoadingPhoto={}", isLoadingPhoto);
// return R.fail(405, "当前节点还未上传装车前照片");
// }
Integer pacakagNum = 0;
Integer zeroNum = 0;
for (LoadingPackageDTO loadingPackageDTO : packageList) {

1
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseWarehousingEntryController.java

@ -182,6 +182,7 @@ public class WarehouseWarehousingEntryController extends BladeController {
@ApiOperationSupport(order = 6)
@ApiOperation(value = "新增或修改", notes = "传入warehouseWarehousingEntry")
public R submit(@Valid @RequestBody WarehouseWarehousingEntryDTO warehouseWarehousingEntryDTO) {
return R.status(warehouseWarehousingEntryService.saveOrUpdateOwn(warehouseWarehousingEntryDTO));
}

2
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseRetentionRecordMapper.xml

@ -91,7 +91,7 @@
remark,
cancel_retention_user_name,
cancel_remark
from logpm_platform.logpm_warehouse_retention_record lwrr
from logpm_warehouse_retention_record lwrr
<where>
lwrr.is_deleted = 0
<!--

2
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseStockMapper.xml

@ -705,7 +705,7 @@
</select>
<select id="exportWarehouseStock" resultType="com.logpm.warehouse.excel.WarehouseStockExcel">
select distinct * from logpm_platform.view_scan_record vsr
select distinct * from view_scan_record vsr
<where>
vsr.is_deleted = 0
<if test="paramMap.warehouseId != null and paramMap.warehouseId != ''">

22
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownGoodsLogMapper.xml

@ -178,9 +178,9 @@
lwtg.tray_code palletCode,
ldpl.warehouse logWarehouseName,
lwup.create_time createTime
FROM logpm_platform.logpm_warehouse_updown_goods_log lwup
join logpm_platform.logpm_distribution_parcel_list ldpl on ldpl.id = lwup.association_id
left join logpm_platform.logpm_warehouse_tray_goods lwtg on lwtg.association_id = lwup.association_id
FROM logpm_warehouse_updown_goods_log lwup
join logpm_distribution_parcel_list ldpl on ldpl.id = lwup.association_id
left join logpm_warehouse_tray_goods lwtg on lwtg.association_id = lwup.association_id
<where>
lwup.is_deleted = 0
<if test="paramMap.warehouseId != null and paramMap.warehouseId != ''">
@ -224,10 +224,10 @@
lwup.create_user createUser,
lwup.create_time createTime,
lww.name logWarehouseName
FROM logpm_platform.logpm_warehouse_updown_goods_log lwup
join logpm_platform.logpm_basicdata_material lbm on lbm.id = lwup.association_id
left join logpm_platform.logpm_warehouse_tray_goods lwtg on lwtg.association_id = lwup.association_id
left join logpm_platform.logpm_warehouse_warehouse lww on lwup.warehouse_id = lww.id
FROM logpm_warehouse_updown_goods_log lwup
join logpm_basicdata_material lbm on lbm.id = lwup.association_id
left join logpm_warehouse_tray_goods lwtg on lwtg.association_id = lwup.association_id
left join logpm_warehouse_warehouse lww on lwup.warehouse_id = lww.id
<where>
lwup.is_deleted = 0
<if test="paramMap.warehouseId != null and paramMap.warehouseId != ''">
@ -257,10 +257,10 @@
lwup.create_user createUserName,
lwup.create_time createTime,
lww.name logWarehouseName
FROM logpm_platform.logpm_warehouse_updown_goods_log lwup
join logpm_platform.logpm_distribution_stock_article ldsa on ldsa.id = lwup.association_id
left join logpm_platform.logpm_warehouse_tray_goods lwtg on lwtg.association_id = lwup.association_id
left join logpm_platform.logpm_warehouse_warehouse lww on lwup.warehouse_id = lww.id
FROM logpm_warehouse_updown_goods_log lwup
join logpm_distribution_stock_article ldsa on ldsa.id = lwup.association_id
left join logpm_warehouse_tray_goods lwtg on lwtg.association_id = lwup.association_id
left join logpm_warehouse_warehouse lww on lwup.warehouse_id = lww.id
<where>
lwup.is_deleted = 0
<if test="paramMap.warehouseId != null and paramMap.warehouseId != ''">

6
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWarehousingEntryMapper.xml

@ -60,7 +60,7 @@
license_plate,
service_type,
conditions
from logpm_platform.logpm_warehouse_warehousing_entry lwwe
from logpm_warehouse_warehousing_entry lwwe
<where>
<if test="paramMap.orderNumber !=null and paramMap.orderNumber != ''">
and lwwe.order_number = #{paramMap.orderNumber}
@ -80,8 +80,8 @@
<if test="paramMap.conditions !=null and paramMap.conditions != ''">
and lwwe.conditions = #{paramMap.conditions}
</if>
<if test="paramMap.warehouse !=null and paramMap.warehouse != ''">
and lwwe.warehouse = #{paramMap.warehouse}
<if test="paramMap.warehouseId !=null ">
and lwwe.warehouse_id = #{paramMap.warehouseId}
</if>
<if test="paramMap.customerName !=null and paramMap.customerName != ''">
and lwwe.customer_name = #{paramMap.customerName}

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

@ -53,6 +53,7 @@ public class WarehouseConfigServiceImpl extends BaseServiceImpl<WarehouseConfigM
//关闭配置进行默认库位的清理
flag = basicdataGoodsAllocationClient.closeDefaultAllocation(goodsAllocationEntity.getId());
warehouseConfigEntity.setDefaultAllocation("");
this.updateById(warehouseConfigEntity);
return R.status(flag);
}

107
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java

@ -131,6 +131,28 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
if (ObjectUtils.isNull(warehouseWarehousingEntryDTO.getType())) {
throw new ServiceException("入库类型不能为空!!");
}
//添加
//获取当前登录人仓库
BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseClient.getMyCurrentWarehouse();
if (Objects.isNull(basicdataWarehouseEntity)) {
log.warn("#####操作人,当前未查询到仓库信息");
return false;
}
int isAutoWarehouse;
BasicdataGoodsAllocationEntity defaultGoodsAllocation;
WarehouseConfigEntity warehouseConfig = warehouseConfigClient.getWarehouseConfig(basicdataWarehouseEntity.getId());
if (!Objects.isNull(warehouseConfig)) {
isAutoWarehouse = warehouseConfig.getIsAutoWarehouse() != null ? warehouseConfig.getIsAutoWarehouse() : 0;
if (Integer.parseInt(IsOrNoConstant.yes.getValue()) == isAutoWarehouse) {
//查询此仓库的默认库位
defaultGoodsAllocation = basicdataGoodsAllocationClient.findDefaultGoodsAllocation(basicdataWarehouseEntity.getId());
} else {
defaultGoodsAllocation = null;
}
} else {
defaultGoodsAllocation = null;
isAutoWarehouse = 0;
}
if ("2".equals(warehouseWarehousingEntryDTO.getType())) {
//直接入库
List<WarehouseWarehousingDetailEntity> list = warehouseWarehousingEntryDTO.getList();
@ -147,33 +169,33 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
}
WarehouseWarehousingEntryEntity entryEntity = new WarehouseWarehousingEntryEntity();
entryEntity.setId(warehouseWarehousingEntryDTO.getId());
//添加
//获取当前登录人仓库
BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseClient.getMyCurrentWarehouse();
if (Objects.isNull(basicdataWarehouseEntity)) {
log.warn("#####操作人,当前未查询到仓库信息");
return false;
}
warehouseWarehousingEntry.setWarehouseId(basicdataWarehouseEntity.getId());
warehouseWarehousingEntry.setWarehouse(basicdataWarehouseEntity.getName());
warehouseWarehousingEntry.setSource("添加");
warehouseWarehousingEntry.setConditions("3");
if (Objects.isNull(warehouseWarehousingEntry.getPositions())) {
//查看是否存在有默认入库的配置
if (Integer.parseInt(IsOrNoConstant.yes.getValue()) == isAutoWarehouse && !Objects.isNull(defaultGoodsAllocation)) {
warehouseWarehousingEntry.setPositions(defaultGoodsAllocation.getQrCode());
warehouseWarehousingEntry.setRemark("自动入库");
}
}
this.save(warehouseWarehousingEntry);
list.forEach(i -> {
//添加库存品
addInventory(i.getCreateInventory(), warehouseWarehousingEntryDTO, i);
});
//添加入库明细
// Iterator<WarehouseWarehousingDetailEntity> iterator = list.iterator();
// while (iterator.hasNext()){
// if(ObjectUtils.isNotNull(iterator.next().getConditions() ) && iterator.next().getConditions().equals("3")){
// iterator.remove();
// }
// }
if (!list.isEmpty()) {
list.forEach(i -> {
i.setWarehousingEntryId(warehouseWarehousingEntry.getId());
i.setConditions("3");
if (Objects.isNull(i.getAllocationName())) {
//查看是否存在有默认入库的配置
if (Integer.parseInt(IsOrNoConstant.yes.getValue()) == isAutoWarehouse && !Objects.isNull(defaultGoodsAllocation)) {
i.setAllocationName(defaultGoodsAllocation.getQrCode());
i.setAllocationId(defaultGoodsAllocation.getId());
i.setLoadingType(1);
}
}
//添加库存品
addInventory(i.getCreateInventory(), warehouseWarehousingEntryDTO, i);
}
);
warehouseWarehousingDetailService.saveBatch(list);
@ -263,14 +285,13 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
warehouseWarehousingDetailService.deleteLogic(detailEntityList);
}
}
} else {
//添加
//获取当前登录人仓库
BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseClient.getMyCurrentWarehouse();
if (Objects.isNull(basicdataWarehouseEntity)) {
log.warn("#####操作人,当前未查询到仓库信息");
return false;
if (Objects.isNull(warehouseWarehousingEntry.getPositions())) {
//查看是否存在有默认入库的配置
if (Integer.parseInt(IsOrNoConstant.yes.getValue()) == isAutoWarehouse && !Objects.isNull(defaultGoodsAllocation)) {
warehouseWarehousingEntry.setPositions(defaultGoodsAllocation.getQrCode());
warehouseWarehousingEntry.setRemark("自动入库");
}
}
warehouseWarehousingEntry.setWarehouseId(basicdataWarehouseEntity.getId());
warehouseWarehousingEntry.setWarehouse(basicdataWarehouseEntity.getName());
@ -288,6 +309,14 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
}
if (!list.isEmpty()) {
list.forEach(i -> {
if (Objects.isNull(i.getAllocationName())) {
//查看是否存在有默认入库的配置
if (Integer.parseInt(IsOrNoConstant.yes.getValue()) == isAutoWarehouse && !Objects.isNull(defaultGoodsAllocation)) {
i.setAllocationName(defaultGoodsAllocation.getQrCode());
i.setAllocationId(defaultGoodsAllocation.getId());
i.setLoadingType(1);
}
}
i.setWarehousingEntryId(warehouseWarehousingEntry.getId());
i.setConditions("1");
}
@ -540,22 +569,22 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
// WarehouseWarehousingEntryEntity entryEntity = JSONObject.parseObject(JSONObject.toJSONString(k), WarehouseWarehousingEntryEntity.class);
Integer isAutoWarehouse;
if (!Objects.isNull(entryEntity.getWarehouseId())){
if (!Objects.isNull(entryEntity.getWarehouseId())) {
//查询是否开启自动上架配置
WarehouseConfigEntity warehouseConfig = warehouseConfigClient.getWarehouseConfig(entryEntity.getWarehouseId());
if (!Objects.isNull(warehouseConfig)){
isAutoWarehouse = warehouseConfig.getIsAutoWarehouse() != null ? warehouseConfig.getIsAutoWarehouse() : 0;
if (!Objects.isNull(warehouseConfig)) {
isAutoWarehouse = warehouseConfig.getIsAutoWarehouse() != null ? warehouseConfig.getIsAutoWarehouse() : 0;
} else {
isAutoWarehouse = 0;
}
} else {
isAutoWarehouse = 0;
}
if (Integer.parseInt(IsOrNoConstant.yes.getValue()) == isAutoWarehouse){
isAutoWarehouse = 0;
}
} else {
isAutoWarehouse = 0;
}
if (Integer.parseInt(IsOrNoConstant.yes.getValue()) == isAutoWarehouse) {
//查询默认备货库位
BasicdataGoodsAllocationEntity defaultGoodsAllocation = basicdataGoodsAllocationClient.findDefaultGoodsAllocation(entryEntity.getWarehouseId());
if (!Objects.isNull(defaultGoodsAllocation)){
if (Objects.isNull(entryEntity.getPositions())){
if (!Objects.isNull(defaultGoodsAllocation)) {
if (Objects.isNull(entryEntity.getPositions())) {
entryEntity.setPositions(defaultGoodsAllocation.getQrCode());
}
}
@ -596,8 +625,8 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
detail.setTrayName(basicdataTrayEntity.getPalletName());
}
}
}else {
if (Integer.parseInt(IsOrNoConstant.yes.getValue()) == isAutoWarehouse){
} else {
if (Integer.parseInt(IsOrNoConstant.yes.getValue()) == isAutoWarehouse) {
//库位
WarehouseGoodsAllocationEntity warehouseGoodsAllocationEntity = warehouseGoodsAllocationClient.findByAllocationQrCode(entryEntity.getPositions());
if (Func.isNotEmpty(warehouseGoodsAllocationEntity)) {
@ -670,7 +699,7 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
break;
default:
s.setConditions("未知");
return ;
return;
}
BeanUtil.copyProperties(s, excel);
listExcel.add(excel);

Loading…
Cancel
Save