Browse Source

1.干线逻辑优化更新

2.新增老系统推送打托信息补打
single_db
zhenghaoyu 1 year ago
parent
commit
de6b6b4b12
  1. 5
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/LoadCarsDTO.java
  2. 29
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/HasNotFinalNodeIdDataVO.java
  3. 13
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/LoadScanFinalNodeIdVO.java
  4. 4
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineCarsLoadVO.java
  5. 54
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/SyncOldTrayTypeLogEntity.java
  6. 21
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/ISyncOldTrayTypeClient.java
  7. 60
      blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOldTrayTypeData.java
  8. 16
      blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/OldTrayTypeMapper.java
  9. 24
      blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/OldTrayTypeMapper.xml
  10. 13
      blade-service/logpm-patch/src/main/java/com/logpm/patch/service/IOldTrayTypeService.java
  11. 34
      blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/OldTrayTypeServiceImpl.java
  12. 67
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/CarsLoadController.java
  13. 11
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.java
  14. 46
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml
  15. 10
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadScanService.java
  16. 3
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java
  17. 20
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadScanServiceImpl.java
  18. 98
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java
  19. 15
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/OldSystemPushController.java
  20. 33
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/SyncOldTrayTypeClient.java
  21. 9
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/SyncOldTrayTypeLogMapper.java
  22. 7
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/ISyncOldTrayTypeLogService.java
  23. 15
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/SyncOldTrayTypeLogServiceImpl.java

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.vo.LoadScanFinalNodeIdVO;
import com.logpm.trunkline.vo.ZeroOrderVO;
import com.logpm.trunkline.vo.ZeroSuppleVO;
import lombok.Data;
@ -72,4 +73,8 @@ public class LoadCarsDTO implements Serializable {
private List<ZeroSuppleVO> zeroSuppleList = new ArrayList<>();
private List<LoadScanFinalNodeIdVO> loadScanFinalNodeIdList = new ArrayList<>();
private String fullLoadRate;
}

29
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/HasNotFinalNodeIdDataVO.java

@ -0,0 +1,29 @@
package com.logpm.trunkline.vo;
import lombok.Data;
import java.io.Serializable;
@Data
public class HasNotFinalNodeIdDataVO implements Serializable {
private Long id;
private String waybillNo;
private String orderCode;
private String orderPackageCode;
private Integer isData;
private String fromWarehouseName;
private String loadingWarehouseName;
private String remark;
private String mallName;
private String mallPerson;
private String mallPersonMobile;
private String mallAddress;
private String customerName;
private String customerMobile;
private String customerAddress;
private String firsts;
private String second;
private String third;
}

13
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/LoadScanFinalNodeIdVO.java

@ -0,0 +1,13 @@
package com.logpm.trunkline.vo;
import lombok.Data;
import java.io.Serializable;
@Data
public class LoadScanFinalNodeIdVO implements Serializable {
private Long loadScanId;
private Long finalNodeId;
}

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

@ -46,4 +46,8 @@ public class TrunklineCarsLoadVO extends TrunklineCarsLoadEntity {
private List<CarsLoadWaybillInfoVO> carsLoadWaybillInfoList = new ArrayList<>();
private Integer lastStartCarStatus;
private Integer planUnloadNum;
}

54
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/SyncOldTrayTypeLogEntity.java

@ -0,0 +1,54 @@
package com.logpm.warehouse.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("sync_old_tray_type_log")
@ApiModel(value = "SyncOldTrayTypeLog对象", description = "同步老系统打托数据表")
@EqualsAndHashCode(callSuper = true)
public class SyncOldTrayTypeLogEntity extends TenantEntity {
/**
* 预留1
*/
@ApiModelProperty(value = "预留1")
private String reserve1;
/**
* 预留2
*/
@ApiModelProperty(value = "预留2")
private String reserve2;
/**
* 预留3
*/
@ApiModelProperty(value = "预留3")
private String reserve3;
/**
* 预留4
*/
@ApiModelProperty(value = "预留4")
private String reserve4;
/**
* 预留5
*/
@ApiModelProperty(value = "预留5")
private String reserve5;
/**
* 请求参数
*/
@ApiModelProperty(value = "请求参数")
private String args;
@ApiModelProperty(value = "同步状态 0未同步 1已同步")
private Integer syncStatus;
@ApiModelProperty(value = "同步次数")
private Integer syncNum;
}

21
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/ISyncOldTrayTypeClient.java

@ -0,0 +1,21 @@
package com.logpm.warehouse.feign;
import org.springblade.common.constant.ModuleNameConstant;
import org.springblade.core.tool.api.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
@FeignClient(
value = ModuleNameConstant.APPLICATION_WAREHOUSE_NAME
)
public interface ISyncOldTrayTypeClient {
String API_PREFIX = "warehouseSyncOldTrayType/client";
String TOP = API_PREFIX + "/top5";
@GetMapping(TOP + "/budaOldTrayTypeData")
R budaOldTrayTypeData(@RequestParam String orderPackageCode, @RequestParam Integer trayId, @RequestParam Integer type, @RequestParam Integer oldWarehouseId);
}

60
blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOldTrayTypeData.java

@ -0,0 +1,60 @@
package com.logpm.patch.jobhandle;
import com.alibaba.fastjson.JSONObject;
import com.logpm.patch.service.IOldTrayTypeService;
import com.logpm.warehouse.entity.SyncOldTrayTypeLogEntity;
import com.logpm.warehouse.feign.ISyncOldTrayTypeClient;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.tool.api.R;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Objects;
@Slf4j
@AllArgsConstructor
@Component
public class SyncOldTrayTypeData {
private final IOldTrayTypeService oldTrayTypeService;
private final ISyncOldTrayTypeClient syncOldTrayTypeClient;
@XxlJob("syncOldTrayTypeInfo")
public ReturnT<String> syncOldTrayTypeInfo(String param) {
log.info("####################syncOldTrayTypeInfo: 同步库位老系统打托信息开始");
List<SyncOldTrayTypeLogEntity> ls = oldTrayTypeService.findAllListBySyncStatusAndSyncNum(0,3);
for (SyncOldTrayTypeLogEntity syncOldTrayTypeLogEntity : ls) {
String args = syncOldTrayTypeLogEntity.getArgs();
Long id = syncOldTrayTypeLogEntity.getId();
Integer syncNum = syncOldTrayTypeLogEntity.getSyncNum();
log.info("##############syncOldTrayTypeInfo: 当前同步的数据为 {}",args);
JSONObject jsonObject = JSONObject.parseObject(args);
if(Objects.isNull(jsonObject)){
log.error("############syncOldTrayTypeInfo: 打托数据异常");
continue;
}
String orderPackageCode = jsonObject.getString("orderPackageCode");
Integer type = jsonObject.getInteger("type");
Integer trayId = jsonObject.getInteger("trayId");
Integer oldWarehouseId = jsonObject.getInteger("warehouseId");
R r = syncOldTrayTypeClient.budaOldTrayTypeData(orderPackageCode, trayId, type, oldWarehouseId);
int code = r.getCode();
if(200 == code){
oldTrayTypeService.updateSyncStatus(id,1);
}else{
oldTrayTypeService.updateSyncNum(id,syncNum+1);
}
}
return ReturnT.SUCCESS;
}
}

16
blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/OldTrayTypeMapper.java

@ -0,0 +1,16 @@
package com.logpm.patch.mapper;
import com.logpm.warehouse.entity.SyncOldTrayTypeLogEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface OldTrayTypeMapper {
List<SyncOldTrayTypeLogEntity> findAllListBySyncStatusAndSyncNum(@Param("syncStatus") int syncStatus, @Param("syncNum") int syncNum);
void updateSyncStatus(@Param("id") Long id, @Param("syncStatus") int syncStatus);
void updateSyncNum(@Param("id") Long id, @Param("syncNum") int syncNum);
}

24
blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/OldTrayTypeMapper.xml

@ -0,0 +1,24 @@
<?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.patch.mapper.OldTrayTypeMapper">
<select id="findAllListBySyncStatusAndSyncNum" resultType="com.logpm.warehouse.entity.SyncOldTrayTypeLogEntity">
select *
from sync_old_tray_type_log
where sync_status = #{syncStatus}
and sync_num &lt; #{syncNum}
</select>
<update id="updateSyncStatus">
update sync_old_tray_type_log
set sync_status = #{syncStatus}
where id = #{id}
</update>
<update id="updateSyncNum">
update sync_old_tray_type_log
set sync_num = #{syncNum}
where id = #{id}
</update>
</mapper>

13
blade-service/logpm-patch/src/main/java/com/logpm/patch/service/IOldTrayTypeService.java

@ -0,0 +1,13 @@
package com.logpm.patch.service;
import com.logpm.warehouse.entity.SyncOldTrayTypeLogEntity;
import java.util.List;
public interface IOldTrayTypeService {
List<SyncOldTrayTypeLogEntity> findAllListBySyncStatusAndSyncNum(int syncStatus, int syncNum);
void updateSyncStatus(Long id, int syncStatus);
void updateSyncNum(Long id, int syncNum);
}

34
blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/OldTrayTypeServiceImpl.java

@ -0,0 +1,34 @@
package com.logpm.patch.service.impl;
import com.logpm.patch.mapper.OldTrayTypeMapper;
import com.logpm.patch.service.IOldTrayTypeService;
import com.logpm.warehouse.entity.SyncOldTrayTypeLogEntity;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
@Slf4j
@Service
@AllArgsConstructor
public class OldTrayTypeServiceImpl implements IOldTrayTypeService {
private final OldTrayTypeMapper oldTrayTypeMapper;
@Override
public List<SyncOldTrayTypeLogEntity> findAllListBySyncStatusAndSyncNum(int syncStatus, int syncNum) {
return oldTrayTypeMapper.findAllListBySyncStatusAndSyncNum(syncStatus,syncNum);
}
@Override
public void updateSyncStatus(Long id, int syncStatus) {
oldTrayTypeMapper.updateSyncStatus(id,syncStatus);
}
@Override
public void updateSyncNum(Long id, int syncNum) {
oldTrayTypeMapper.updateSyncNum(id,syncNum);
}
}

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

@ -1471,5 +1471,72 @@ public class CarsLoadController {
}
@ResponseBody
@PostMapping("/determineHasNoFinalNode")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "判断有没有没有目的仓的装车数据", notes = "传入loadCarsDTO")
public R determineHasNoFinalNode(@RequestBody LoadCarsDTO loadCarsDTO) {
String method = "############determineHasNoFinalNode: ";
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(400,"仓库信息为空");
}
loadCarsDTO.setWarehouseId(myCurrentWarehouse.getId());
if(Objects.isNull(loadId)){
log.warn(method+"配载id为空 loadId={}",loadId);
return R.fail(405,"配载id为空");
}
return carsLoadService.determineHasNoFinalNode(loadId,myCurrentWarehouse.getId());
}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("/updateLoadScanFinalNodeIdById")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "更新最终节点数据", notes = "传入loadCarsDTO")
public R updateLoadScanFinalNodeIdById(@RequestBody LoadCarsDTO loadCarsDTO) {
String method = "############updateLoadScanFinalNodeIdById: ";
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(400,"仓库信息为空");
}
loadCarsDTO.setWarehouseId(myCurrentWarehouse.getId());
if(Objects.isNull(loadId)){
log.warn(method+"配载id为空 loadId={}",loadId);
return R.fail(405,"配载id为空");
}
return carsLoadService.updateLoadScanFinalNodeIdById(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,"系统异常");
}
}
}

11
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.java

@ -5,10 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.trunkline.dto.LoadCarsDTO;
import com.logpm.trunkline.dto.ProductInfoDTO;
import com.logpm.trunkline.entity.TrunklineCarsLoadScanEntity;
import com.logpm.trunkline.vo.OrderScanDetailVO;
import com.logpm.trunkline.vo.ProductUnloadInfoVO;
import com.logpm.trunkline.vo.UnloadPackageVO;
import com.logpm.trunkline.vo.UnloadScanOrderVO;
import com.logpm.trunkline.vo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -55,4 +52,10 @@ public interface TrunklineCarsLoadScanMapper extends BaseMapper<TrunklineCarsLoa
Integer findUnloadNumByLoadIdAndNodeId(@Param("loadId") Long loadId, @Param("nodeId") Long nodeId);
Integer findUnloadNumByLoadIdAndNodeIdAndOrderCodeAndWaybillNo(@Param("loadId") Long loadId, @Param("nodeId") Long nodeId, @Param("orderCode") String orderCode, @Param("waybillNo") String waybillNo);
List<HasNotFinalNodeIdDataVO> findNoFinalNodeData(@Param("loadId") Long loadId, @Param("warehouseId") Long warehouseId);
void updateFinalNodeIdById(@Param("loadScanId") Long loadScanId, @Param("finalNodeId") Long finalNodeId);
void updateUnloadCheckByLoadIdAndWarehouseId(@Param("loadId") Long loadId, @Param("warehouseId") Long warehouseId);
}

46
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml

@ -180,4 +180,50 @@
and scan_status != '1'
</select>
<select id="findNoFinalNodeData" resultType="com.logpm.trunkline.vo.HasNotFinalNodeIdDataVO">
select ltcls.id id,
ltcls.waybill_no waybillNo,
ltcls.order_code orderCode,
ltcls.scan_code orderPackageCode,
ltcls.is_data isData,
flww.name fromWarehouseName,
llww.name loadingWarehouseName,
ltcls.remark remark,
ldsa.mall_name mallName,
ldsa.consignee_person mallPerson,
ldsa.consignee_mobile mallPersonMobile,
ldsa.consignee_address mallAddress,
ldsa.customer_name customerName,
ldsa.customer_telephone customerMobile,
ldsa.customer_address customerAddress,
ldpl.firsts firsts,
ldpl.second `second`,
ldpl.third_product third,
ldpl.material_code materialCode,
ldpl.material_name materialName
from logpm_trunkline_cars_load_scan ltcls
left join logpm_distribution_parcel_list ldpl on ldpl.order_package_code = ltcls.scan_code and ldpl.warehouse_id = ltcls.from_warehouse_id
left join logpm_distribution_stock_article ldsa on ldsa.id = ldpl.stock_article_id
left join logpm_warehouse_waybill lww on lww.waybill_no = ltcls.waybill_no
left join logpm_warehouse_warehouse flww on flww.id = ltcls.from_warehouse_id
left join logpm_warehouse_warehouse llww on llww.id = ltcls.warehouse_id
where ltcls.load_id = #{loadId}
and ltcls.warehouse_id = #{warehouseId}
and ltcls.final_node_id is null
</select>
<update id="updateFinalNodeIdById">
update logpm_trunkline_cars_load_scan
set final_node_id = #{finalNodeId}
where id = #{loadScanId}
</update>
<update id="updateUnloadCheckByLoadIdAndWarehouseId">
update logpm_trunkline_cars_load_scan
set unload_check = 1
where load_id = #{loadId}
and unload_node_id = #{warehouseId}
and unload_check = 0
</update>
</mapper>

10
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadScanService.java

@ -4,10 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.trunkline.dto.LoadCarsDTO;
import com.logpm.trunkline.dto.ProductInfoDTO;
import com.logpm.trunkline.entity.TrunklineCarsLoadScanEntity;
import com.logpm.trunkline.vo.OrderScanDetailVO;
import com.logpm.trunkline.vo.ProductUnloadInfoVO;
import com.logpm.trunkline.vo.UnloadPackageVO;
import com.logpm.trunkline.vo.UnloadScanOrderVO;
import com.logpm.trunkline.vo.*;
import org.springblade.core.mp.base.BaseService;
import java.util.List;
@ -51,4 +48,9 @@ public interface ITrunklineCarsLoadScanService extends BaseService<TrunklineCars
Integer findUnloadNumByLoadIdAndNodeIdAndOrderCodeAndWaybillNo(Long loadId, Long nodeId, String orderCode, String waybillNo);
List<HasNotFinalNodeIdDataVO> findNoFinalNodeData(Long loadId, Long warehouseId);
void updateFinalNodeIdById(Long loadScanId, Long finalNodeId);
void updateUnloadCheckByLoadIdAndWarehouseId(Long loadId, Long warehouseId);
}

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

@ -129,4 +129,7 @@ public interface ITrunklineCarsLoadService extends BaseService<TrunklineCarsLoad
R unloadTrayAllOne(LoadCarsDTO loadCarsDTO);
R determineHasNoFinalNode(Long loadId, Long warehouseId);
R updateLoadScanFinalNodeIdById(LoadCarsDTO loadCarsDTO);
}

20
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadScanServiceImpl.java

@ -6,10 +6,7 @@ import com.logpm.trunkline.dto.ProductInfoDTO;
import com.logpm.trunkline.entity.TrunklineCarsLoadScanEntity;
import com.logpm.trunkline.mapper.TrunklineCarsLoadScanMapper;
import com.logpm.trunkline.service.ITrunklineCarsLoadScanService;
import com.logpm.trunkline.vo.OrderScanDetailVO;
import com.logpm.trunkline.vo.ProductUnloadInfoVO;
import com.logpm.trunkline.vo.UnloadPackageVO;
import com.logpm.trunkline.vo.UnloadScanOrderVO;
import com.logpm.trunkline.vo.*;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
@ -112,4 +109,19 @@ public class TrunklineCarsLoadScanServiceImpl extends BaseServiceImpl<TrunklineC
return baseMapper.findUnloadNumByLoadIdAndNodeIdAndOrderCodeAndWaybillNo(loadId,nodeId,orderCode,waybillNo);
}
@Override
public List<HasNotFinalNodeIdDataVO> findNoFinalNodeData(Long loadId, Long warehouseId) {
return baseMapper.findNoFinalNodeData(loadId,warehouseId);
}
@Override
public void updateFinalNodeIdById(Long loadScanId, Long finalNodeId) {
baseMapper.updateFinalNodeIdById(loadScanId,finalNodeId);
}
@Override
public void updateUnloadCheckByLoadIdAndWarehouseId(Long loadId, Long warehouseId) {
baseMapper.updateUnloadCheckByLoadIdAndWarehouseId(loadId,warehouseId);
}
}

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

@ -118,6 +118,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
Long loadId = loadCarsDTO.getLoadId();
Integer startCarType = loadCarsDTO.getStartCarType();
Long warehouseId = loadCarsDTO.getWarehouseId();
String fullLoadRate = loadCarsDTO.getFullLoadRate();
//先查询车辆配载计划
TrunklineCarsLoadEntity carsLoadEntity = baseMapper.selectById(loadId);
@ -136,6 +137,10 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
throw new CustomerException(400,"未有权限进行该操作");
}
if(StringUtil.isNotBlank(fullLoadRate)){
carsLoadEntity.setFullLoadRate(new BigDecimal(fullLoadRate));
}
if(startCarType == 1){
//车辆配载发车
//查询发站仓节点信息
@ -616,8 +621,8 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
Long nowWarehouseId = carsLoadEntity.getNowWarehouseId();//当前节点id
if(!warehouseId.equals(nowWarehouseId)){
log.warn("#############cancelArriveCarByLoadId: 未有权限进行该操作 loadId={} nowWarehouseId={}",loadId,nowWarehouseId);
throw new CustomerException(400,"未有权限进行该操作");
log.warn("#############cancelArriveCarByLoadId: 配载未到达当前仓 loadId={} nowWarehouseId={}",loadId,nowWarehouseId);
throw new CustomerException(400,"配载未到达当前仓");
}
String loadStatus = carsLoadEntity.getLoadStatus();
@ -634,6 +639,15 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
String nodeStatus = currentCarsLoadLineEntity.getNodeStatus();
Integer sort = currentCarsLoadLineEntity.getSort();
String unloadStatus = currentCarsLoadLineEntity.getUnloadStatus();
if(!"0".equals(unloadStatus)){
log.warn("#############unloadByLoadId: 已经确认过卸车 loadId={} nowWarehouseId={} unloadStatus={}",loadId,nowWarehouseId,unloadStatus);
throw new CustomerException(400,"已经确认过卸车");
}
//修改已卸车数据为确认状态
trunklineCarsLoadScanService.updateUnloadCheckByLoadIdAndWarehouseId(loadId,warehouseId);
if(unloadType == 1){
//网点卸车确认
if("40".equals(loadStatus)){
@ -1465,7 +1479,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
Long waybillId = null;
String waybillNo = null;
String orderCode = null;
Integer isData = null;
Integer isData = 1;
Integer isAbnormal = null;
Long trayId = null;
String trayName = null;
@ -1496,6 +1510,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
carsLoadScanEntity.setNum(1);
carsLoadScanEntity.setType(1);
carsLoadScanEntity.setIsSupple(0);
carsLoadScanEntity.setUnloadCheck(0);
if(Objects.isNull(parcelListEntity)){
carsLoadScanEntity.setLoadingAbnormal(1);
isAbnormal = 1;
@ -1552,16 +1567,18 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
Long packageId = parcelListEntity.getId();
waybillNo = parcelListEntity.getWaybillNumber();
orderCode = parcelListEntity.getOrderCode();
fromWarehouseId = parcelListEntity.getWarehouseId();
WarehouseWaybillEntity waybillEntity = warehouseWaybillClient.findByWaybillNo(waybillNo);
if(Objects.isNull(waybillEntity)){
log.warn("##################loadingScan: 运单信息不存在 waybillNo={}",waybillNo);
return R.fail(405,"运单信息不存在");
}
waybillId = waybillEntity.getId();
carsLoadScanEntity.setWaybillId(waybillId);
carsLoadScanEntity.setWaybillNo(waybillNo);
carsLoadScanEntity.setOrderCode(orderCode);
carsLoadScanEntity.setFromWarehouseId(warehouseId);
carsLoadScanEntity.setFromWarehouseId(fromWarehouseId);
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleClient.findStockArticleByOrderCodeAndWarehouseId(orderCode, warehouseId);
if(Objects.isNull(stockArticleEntity)){
@ -1594,7 +1611,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
isAbnormal = 0;
remark = "正常装车";
}
carsLoadScanEntity.setFinalNodeId(carsOrderEntity.getFinalNodeId());
carsLoadScanEntity.setFinalNodeId(fromWarehouseId);
}
distributionParcelListClient.updateOrderPackageCodeById(packageId,"60");
distributionStockArticleClient.submitHandleNumByOrderId(1,articleId);
@ -2050,6 +2067,8 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
distributionStockArticleClient.saveOrUpdate(zeroStockArticleEntity);
}
//更新数量
updateNumByLoadId(loadId);
return R.success("添加成功");
}
@ -2190,6 +2209,45 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
return R.success("打托成功");
}
@Override
public R determineHasNoFinalNode(Long loadId, Long warehouseId) {
TrunklineCarsLoadEntity carsLoadEntity = baseMapper.selectById(loadId);
if(Objects.isNull(carsLoadEntity)){
log.error("###########determineHasNoFinalNode: 配载计划不存在 loadId={}",loadId);
return R.fail(405,"配载计划不存在");
}
List<HasNotFinalNodeIdDataVO> list = trunklineCarsLoadScanService.findNoFinalNodeData(loadId,warehouseId);
if(Objects.isNull(list) || list.size() == 0){
return R.success("未有需要添加目的仓的数据");
}else{
return R.data(list);
}
}
@Override
public R updateLoadScanFinalNodeIdById(LoadCarsDTO loadCarsDTO) {
Long loadId = loadCarsDTO.getLoadId();
Long warehouseId = loadCarsDTO.getWarehouseId();
List<LoadScanFinalNodeIdVO> loadScanFinalNodeIdList = loadCarsDTO.getLoadScanFinalNodeIdList();
TrunklineCarsLoadEntity carsLoadEntity = baseMapper.selectById(loadId);
if(Objects.isNull(carsLoadEntity)){
log.error("###########determineHasNoFinalNode: 配载计划不存在 loadId={}",loadId);
return R.fail(405,"配载计划不存在");
}
for (LoadScanFinalNodeIdVO loadScanFinalNodeIdVO : loadScanFinalNodeIdList) {
Long loadScanId = loadScanFinalNodeIdVO.getLoadScanId();
Long finalNodeId = loadScanFinalNodeIdVO.getFinalNodeId();
trunklineCarsLoadScanService.updateFinalNodeIdById(loadScanId,finalNodeId);
}
return R.success("更新成功");
}
@Override
public R loadingTrayInfo(LoadCarsDTO loadCarsDTO) {
log.info("##############loadingTrayInfo: 查询托盘的货物信息");
@ -2414,6 +2472,9 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
@Override
public R arriveUnloadPageList(LoadCarsDTO loadCarsDTO) {
Long warehouseId = loadCarsDTO.getWarehouseId();
IPage<Object> page = new Page<>();
page.setCurrent(loadCarsDTO.getPageNum());
page.setSize(loadCarsDTO.getPageSize());
@ -2425,6 +2486,20 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
IPage<TrunklineCarsLoadVO> pageList = baseMapper.arriveUnloadPageList(page,loadCarsDTO);
List<TrunklineCarsLoadVO> records = pageList.getRecords();
for (TrunklineCarsLoadVO trunklineCarsLoadVO : records) {
Long loadId = trunklineCarsLoadVO.getId();
TrunklineCarsLoadLineEntity carsLoadLineEntity = trunklineCarsLoadLineService.findEntityByLoadIdAndNodeId(loadId, warehouseId);
Integer sort = carsLoadLineEntity.getSort();
TrunklineCarsLoadLineEntity upCarsLoadLineEntity = trunklineCarsLoadLineService.findEntityByLoadIdAndSort(loadId, sort - 1);
String nodeStatus = upCarsLoadLineEntity.getNodeStatus();
if("20".equals(nodeStatus)){
trunklineCarsLoadVO.setLastStartCarStatus(1);
}else{
trunklineCarsLoadVO.setLastStartCarStatus(0);
}
}
pageList.setRecords(records);
return R.data(pageList);
}
@ -2592,13 +2667,15 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
distributionParcelListEntity = new DistributionParcelListEntity();
BeanUtil.copy(parcelListEntity,distributionParcelListEntity);
distributionParcelListEntity.setId(null);
distributionParcelListEntity.setOrderPackageStatus("30");
distributionParcelListEntity.setIsTransfer(1);
if(!Objects.isNull(warehouseWaybillEntity)){
Long destinationWarehouseId = warehouseWaybillEntity.getDestinationWarehouseId();//目的仓
if(destinationWarehouseId.equals(warehouseId)){
distributionParcelListEntity.setOrderPackageStatus("20");
distributionParcelListEntity.setIsTransfer(0);
}
}
distributionParcelListEntity.setAdvanceId(parcelListEntity.getAdvanceId());
distributionParcelListEntity.setOrderPackageStatus("20");
distributionParcelListEntity.setWarehouseId(warehouseId);
distributionParcelListEntity.setWarehouse(warehouseName);
distributionParcelListEntity.setTrainNumber(loadCode);
@ -2923,9 +3000,13 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
return R.fail(405,"配载计划信息不存在");
}
Integer planUnloadNum = 0;
//查询已扫描卸车的包件
List<UnloadScanOrderVO> unloadScanOrderList = trunklineCarsLoadScanService.findPackageWithOrderList(loadId,warehouseId);
for (UnloadScanOrderVO unloadScanOrderVO : unloadScanOrderList) {
Integer loadingNum = unloadScanOrderVO.getLoadingNum();
planUnloadNum = planUnloadNum +loadingNum;
String waybillNo = unloadScanOrderVO.getWaybillNo();
String orderCode = unloadScanOrderVO.getOrderCode();
List<UnloadPackageVO> unloadPackageList = trunklineCarsLoadScanService.findUnloadPackageList(loadId,warehouseId,waybillNo,orderCode);
@ -2935,6 +3016,8 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
//查询已装车的零担
List<UnloadZeroVO> zeroList = trunklineCarsOrderService.findUnloadZeroList(loadId,warehouseId);
for (UnloadZeroVO unloadZeroVO : zeroList) {
Integer loadingNum = unloadZeroVO.getLoadingNum();
planUnloadNum = planUnloadNum +loadingNum;
String waybillNo = unloadZeroVO.getWaybillNo();
String orderCode = unloadZeroVO.getOrderCode();
List<UnloadPackageVO> unloadPackageList = trunklineCarsLoadScanService.findUnloadPackageList(loadId,warehouseId,waybillNo,orderCode);
@ -2955,6 +3038,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
trunklineCarsLoadVO.setUnloadScanOrderList(unloadScanOrderList);
trunklineCarsLoadVO.setUnloadZeroList(zeroList);
trunklineCarsLoadVO.setExceptionList(exceptionList);
trunklineCarsLoadVO.setPlanUnloadNum(planUnloadNum);
return R.data(trunklineCarsLoadVO);
}

15
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/OldSystemPushController.java

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.warehouse.dto.TrayInfoDTO;
import com.logpm.warehouse.dto.WaybillDTO;
import com.logpm.warehouse.entity.SyncOldTrayTypeLogEntity;
import com.logpm.warehouse.entity.WarehouseLog;
import com.logpm.warehouse.entity.WarehouseTrayTypeEntity;
import com.logpm.warehouse.service.*;
@ -41,6 +42,8 @@ public class OldSystemPushController {
private final IWarehouseLogService warehouseLogService;
private final RabbitTemplate rabbitTemplate;
private final IAsyncDataService asyncDataService;
private final ISyncOldTrayTypeLogService syncOldTrayTypeLogService;
// private final IWarehouseWaybillService warehouseWaybillService;
//
// private final IDistributionStockArticleClient distributionStockArticleClient;
@ -185,9 +188,21 @@ public class OldSystemPushController {
warehouseLogService.updateById(warehouseLog);
return R.success("操作成功");
}catch (CustomerException e){
//存入打托信息
SyncOldTrayTypeLogEntity syncOldTrayTypeLogEntity = new SyncOldTrayTypeLogEntity();
syncOldTrayTypeLogEntity.setArgs(JSONObject.toJSONString(trayInfoDTO));
syncOldTrayTypeLogEntity.setSyncStatus(0);
syncOldTrayTypeLogEntity.setSyncNum(0);
syncOldTrayTypeLogService.save(syncOldTrayTypeLogEntity);
log.error(e.message,e);
return R.fail(e.code,e.message);
}catch (Exception e){
//存入打托信息
SyncOldTrayTypeLogEntity syncOldTrayTypeLogEntity = new SyncOldTrayTypeLogEntity();
syncOldTrayTypeLogEntity.setArgs(JSONObject.toJSONString(trayInfoDTO));
syncOldTrayTypeLogEntity.setSyncStatus(0);
syncOldTrayTypeLogEntity.setSyncNum(0);
syncOldTrayTypeLogService.save(syncOldTrayTypeLogEntity);
log.error("############sendOrders: 系统异常",e);
return R.fail(500,"############sendOrders: 系统异常");
}

33
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/SyncOldTrayTypeClient.java

@ -0,0 +1,33 @@
package com.logpm.warehouse.feign;
import com.logpm.warehouse.dto.TrayInfoDTO;
import com.logpm.warehouse.service.IAsyncDataService;
import lombok.AllArgsConstructor;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
@ApiIgnore()
@RestController
@AllArgsConstructor
public class SyncOldTrayTypeClient implements ISyncOldTrayTypeClient{
private final IAsyncDataService asyncDataService;
@Override
public R budaOldTrayTypeData(String orderPackageCode, Integer trayId, Integer type, Integer oldWarehouseId) {
TrayInfoDTO trayInfoDTO = new TrayInfoDTO();
trayInfoDTO.setOrderPackageCode(orderPackageCode);
trayInfoDTO.setTrayId(trayId);
trayInfoDTO.setType(type);
trayInfoDTO.setWarehouseId(oldWarehouseId);
try{
asyncDataService.sendTrayInfoByOrderPackageCode(trayInfoDTO);
}catch (Exception e){
return R.fail(405,"打托失败");
}
return R.success("打托成功");
}
}

9
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/SyncOldTrayTypeLogMapper.java

@ -0,0 +1,9 @@
package com.logpm.warehouse.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.logpm.warehouse.entity.SyncOldTrayTypeLogEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface SyncOldTrayTypeLogMapper extends BaseMapper<SyncOldTrayTypeLogEntity> {
}

7
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/ISyncOldTrayTypeLogService.java

@ -0,0 +1,7 @@
package com.logpm.warehouse.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.logpm.warehouse.entity.SyncOldTrayTypeLogEntity;
public interface ISyncOldTrayTypeLogService extends IService<SyncOldTrayTypeLogEntity> {
}

15
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/SyncOldTrayTypeLogServiceImpl.java

@ -0,0 +1,15 @@
package com.logpm.warehouse.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.logpm.warehouse.entity.SyncOldTrayTypeLogEntity;
import com.logpm.warehouse.mapper.SyncOldTrayTypeLogMapper;
import com.logpm.warehouse.service.ISyncOldTrayTypeLogService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Slf4j
@AllArgsConstructor
@Service
public class SyncOldTrayTypeLogServiceImpl extends ServiceImpl<SyncOldTrayTypeLogMapper, SyncOldTrayTypeLogEntity> implements ISyncOldTrayTypeLogService {
}
Loading…
Cancel
Save