Browse Source

1.库内作业,通过托盘查询货物返回修改

training
zhenghaoyu 1 year ago
parent
commit
1ea90de6b4
  1. 4
      blade-biz-common/src/main/java/org/springblade/common/constant/RabbitConstant.java
  2. 4
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTrayTypeClient.java
  3. 40
      blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/controller/FactoryCommonController.java
  4. 12
      blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/dto/MessageDTO.java
  5. 17
      blade-service/logpm-factory/src/main/java/com/logpm/factory/config/RabbitMqConfiguration.java
  6. 69
      blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/SyncOldDataHandler.java
  7. 1
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/OldSystemPushController.java
  8. 4
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTrayTypeClient.java
  9. 2
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java
  10. 4
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java

4
blade-biz-common/src/main/java/org/springblade/common/constant/RabbitConstant.java

@ -60,6 +60,10 @@ public interface RabbitConstant {
String OUPAI_SIGN_EXCHANGE = "oupai_sign_exchange";
String OUPAI_SIGN_ROUTING = "oupai_sign_routing";
String SYNC_OLD_DATA_QUEUE = "sync_old_data_queue";
String SYNC_OLD_DATA_EXCHANGE = "sync_old_data_exchange";
String SYNC_OLD_DATA_ROUTING = "sync_old_data_routing";
//----------------------distribution---------------------
//备货消费失败队列
String DISTRIBUTION_ERROR_QUEUE = "distribution_error_queue";

4
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseTrayTypeClient.java

@ -17,8 +17,8 @@
package com.logpm.warehouse.feign;
import com.logpm.warehouse.vo.TrayTypeDataVO;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
@ -46,6 +46,6 @@ public interface IWarehouseTrayTypeClient {
Boolean removeByMasterId(@RequestParam Long id);
@PostMapping(API_PREFIX+"/selectListByTrayCode")
R selectListByTrayCode(@RequestParam String trayCode);
TrayTypeDataVO selectListByTrayCode(@RequestParam String trayCode);
}

40
blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/controller/FactoryCommonController.java

@ -2,10 +2,7 @@ package com.logpm.factory.comfac.controller;
import com.alibaba.fastjson.JSONObject;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.factory.comfac.dto.OrderInfoDTO;
import com.logpm.factory.comfac.dto.OrderStatusDTO;
import com.logpm.factory.comfac.dto.ReceiveInfoDTO;
import com.logpm.factory.comfac.dto.UnloadCarDTO;
import com.logpm.factory.comfac.dto.*;
import com.logpm.factory.comfac.service.IFactoryCommonService;
import com.logpm.factory.comfac.service.IOrderStatusLogService;
import com.logpm.factory.snm.entity.OrderStatusLog;
@ -189,4 +186,39 @@ public class FactoryCommonController {
}
}
@ResponseBody
@PostMapping("/handleDataAllocationTray")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "处理对应仓库的上架打托数据", notes = "传入waybillDTO")
public R handleDataAllocationTray(@Validated @RequestBody MessageDTO messageDTO) {
log.info("############handleDataAllocationTray: 请求参数{}",messageDTO);
try{
//先保存原始请求数据
OrderStatusLog orderStatusLog = new OrderStatusLog();
orderStatusLog.setArgs(JSONObject.toJSONString(messageDTO));
orderStatusLog.setStatus(1);
orderStatusLog.setType(100);
orderStatusLogService.save(orderStatusLog);
Map<String, Object> map = new HashMap<>();
map.put("messageId", CommonUtil.getUUID());
map.put("logId", orderStatusLog.getId());
map.put("messageData", messageDTO);
map.put("createTime", new Date().getTime());
//将消息携带绑定键值
rabbitTemplate.convertAndSend(RabbitConstant.SYNC_OLD_DATA_EXCHANGE, RabbitConstant.SYNC_OLD_DATA_ROUTING, map);
return R.success("调用成功");
}catch (CustomerException e){
log.error(e.message,e);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error("############sendOrders: 系统异常",e);
return R.fail(500,"############sendOrders: 系统异常");
}
}
}

12
blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/dto/MessageDTO.java

@ -0,0 +1,12 @@
package com.logpm.factory.comfac.dto;
import lombok.Data;
@Data
public class MessageDTO {
private Integer inventoryId;
private Integer warehouseId;
}

17
blade-service/logpm-factory/src/main/java/com/logpm/factory/config/RabbitMqConfiguration.java

@ -248,6 +248,23 @@ public class RabbitMqConfiguration {
}
@Bean
public Queue syncOldDataQueue() {
return new Queue(RabbitConstant.SYNC_OLD_DATA_QUEUE, true);
}
@Bean
public CustomExchange syncOldDataExchange() {
Map<String, Object> args = Maps.newHashMap();
args.put("x-delayed-type", "direct");
return new CustomExchange(RabbitConstant.SYNC_OLD_DATA_EXCHANGE, "x-delayed-message", true, false, args);
}
@Bean
public Binding syncOldDataBinding(Queue syncOldDataQueue, CustomExchange syncOldDataExchange) {
return BindingBuilder.bind(syncOldDataQueue).to(syncOldDataExchange).with(RabbitConstant.SYNC_OLD_DATA_ROUTING).noargs();
}
}

69
blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/SyncOldDataHandler.java

@ -0,0 +1,69 @@
package com.logpm.factory.receiver;
import com.logpm.factory.comfac.dto.MessageDTO;
import com.rabbitmq.client.Channel;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.RabbitConstant;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.security.NoSuchAlgorithmException;
import java.util.Map;
/**
* 直接队列1 处理器
*
* @author yangkai.shen
*/
@Slf4j
@RabbitListener(queues = RabbitConstant.SYNC_OLD_DATA_QUEUE)
@Component
public class SyncOldDataHandler {
@RabbitHandler
public void receiveInfoHandler(Map map, Message message, Channel channel) throws IOException, NoSuchAlgorithmException {
// 如果手动ACK,消息会被监听消费,但是消息在队列中依旧存在,如果 未配置 acknowledge-mode 默认是会在消费完毕后自动ACK掉
log.info("##################receiveInfoHandler:处理签收信息数据");
MessageDTO messageDTO = (MessageDTO) map.get("messageData");
Integer oldWarehouseId = messageDTO.getWarehouseId();//老系统仓库id
//通过订单自编号去查询该条订单是属于哪个工厂
// AdvanceEntity advanceEntity = advanceClient.getQueryDataOne(orderSelfNum);
// if(Objects.isNull(advanceEntity)){
// log.info("##################receiveInfoHandler: 未找到对应订单 orderSelfNum={}",orderSelfNum);
//// channel.basicAck(deliveryTag,true);
// return;
// }
// String type = advanceEntity.getType();//品牌
//
// R r = null;
// switch (type){
//// case FactoryConstant.PIANO:
//// r = panFactoryDataService.handleData(orderInfoDTO);
//// break;
// case FactoryConstant.MENGT:
// try{
// r = mtFactoryDataService.sendReceiveInfo(receiveInfoDTO);
//
// }catch (Exception e){
// e.printStackTrace();
// }
// int code = r.getCode();
// if(code == 400 || code == 200){
// log.info("##################receiveInfoHandler: 该条数据不用处理 orderNo={}",orderSelfNum);
//// channel.basicAck(deliveryTag,true);
// }else{
// throw new CustomerException(code,r.getMsg());
// }
// break;
// default:
// log.info("##################receiveInfoHandler: 未知品牌 type={}",type);
//// channel.basicAck(deliveryTag,true);
// }
}
}

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

@ -77,7 +77,6 @@ public class OldSystemPushController {
}
}
// @PostMapping("/splitOrder")
// @ResponseBody
// @ApiOperationSupport(order = 8)

4
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTrayTypeClient.java

@ -1,8 +1,8 @@
package com.logpm.warehouse.feign;
import com.logpm.warehouse.service.IWarehouseTrayTypeService;
import com.logpm.warehouse.vo.TrayTypeDataVO;
import lombok.AllArgsConstructor;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
@ -21,7 +21,7 @@ public class WarehouseTrayTypeClient implements IWarehouseTrayTypeClient {
}
@Override
public R selectListByTrayCode(String trayCode) {
public TrayTypeDataVO selectListByTrayCode(String trayCode) {
return warehouseTrayTypeService.selectListByTrayCode(trayCode);
}
}

2
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java

@ -85,6 +85,6 @@ public interface IWarehouseTrayTypeService extends BaseService<WarehouseTrayType
R selectStockByMaterialNameAndMarketId(Long marketId, String materialName, Long warehouseId);
R selectListByTrayCode(String trayCode);
TrayTypeDataVO selectListByTrayCode(String trayCode);
}

4
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java

@ -1989,7 +1989,7 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
}
@Override
public R selectListByTrayCode(String trayCode) {
public TrayTypeDataVO selectListByTrayCode(String trayCode) {
BasicdataTrayEntity basicdataTrayEntity = basicdataTrayClient.getTrayByTrayCode(trayCode);
if(Objects.isNull(basicdataTrayEntity)){
log.warn("###############getEntityByTrayCode: 托盘不存在 trayCode={}",trayCode);
@ -2064,7 +2064,7 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
// log.warn("##################getEntityByTrayCode: 未知的打托类型");
// }
// return trayTypeDataVO;
return R.data(trayTypeDataVO);
return trayTypeDataVO;
}

Loading…
Cancel
Save