Commit a1f765aa by 李小惠

修改工作单到rabbitmq中的代码以及日志接收代码

parent 7d5b0f4d
......@@ -100,3 +100,4 @@ Thumbs.db
/jyzb-mq/jyzb-mq-producer/src/main/resources/application.yml
/jyzb-mq/jyzb-mq-producer/target/maven-archiver/pom.properties
/jyzb-biz/jyzb-biz.iml
/jyzb-biz/src/main/java/com/junmp/jyzb/config/rabbitMQ/RabbitmqConfig.java
......@@ -7,11 +7,12 @@ import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
public class UpdateOrderReq extends BaseRequest {
public class UpdateOrderReq extends BaseRequest implements Serializable {
@NotBlank(message = "id不能为空",groups = {edit.class})
private String Id;
......
......@@ -85,5 +85,18 @@
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-amqp</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>ws-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>ws-api</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>message-boot-starter</artifactId>
</dependency>
</dependencies>
</project>
package com.junmp.jyzb.config.rabbitMQ;
import org.springframework.amqp.core.*;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitAdmin;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.annotation.Resource;
@Configuration
public class DirectRabbitConfig {
@Resource
private ConnectionFactory connectionFactory;
@Bean
public RabbitAdmin rabbitAdmin() {
return new RabbitAdmin(connectionFactory);
}
// 死信交换机名称
private static final String DEAD_EXCHANGE = "dead_exchange";
//队列 起名:
......@@ -25,4 +36,20 @@ public class DirectRabbitConfig {
Binding bindingDirect() {
return BindingBuilder.bind(TestQueue()).to(TestExchange()).with("Test1Routing");
}
//给交换机取名为OrderExchange(任务单模块交换机)
@Bean
public DirectExchange OrderExchange(){
return new DirectExchange("OrderExchange",true,false);
}
//给队列取名字为OrderQueue(任务单模块队列)
@Bean
public Queue OrderQueue(){
return new Queue("OrderQueue",true);
}
//将队列和交换机进行绑定
@Bean
Binding bindQueueExchange(){
return BindingBuilder.bind(OrderQueue()).to(OrderExchange()).with("OrderRouting");
}
}
\ No newline at end of file
package com.junmp.jyzb.config.rabbitMQ;
import com.junmp.jyzb.api.bean.dto.OrderDto;
import com.junmp.jyzb.service.OrderService;
import org.springframework.amqp.core.*;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Configuration
public class RabbitmqConfig {
@Resource
private OrderService orderService;
//1.交换机
@Bean("LogExchange")
public Exchange bootExchange(){
return ExchangeBuilder.directExchange("LogExchange").durable(true).build();
}
//2.队列
@Bean("LogQueue")
public Queue bootQueue(){
return QueueBuilder.durable("LogQueue").build();
}
//3.队列和交换机的绑定关系(队列,交换机,rountingkey)
@Bean
public Binding bingQueueExchange(@Qualifier("LogQueue") Queue queue, @Qualifier("LogExchange")Exchange exchange){
return BindingBuilder.bind(queue).to(exchange).with("log").noargs();
}
@Bean
public DirectExchange OrderExchange(){
return new DirectExchange("OrderExchange");
}
//2.队列
@Bean
public List<Queue> OrderQueue(){
List<Queue> queues =new ArrayList<>();
List<OrderDto> orderList = orderService.getOrder();
for (OrderDto orderDto:orderList) {
queues.add(new Queue(orderDto.getEndOrgName()));
}
return queues;
}
//3.队列和交换机的绑定关系(队列,交换机,rountingkey)
@Bean
public List<Binding> bindQueueExchange(List<Queue> queue, DirectExchange exchange){
List<Binding> bindings=new ArrayList<>();
List<OrderDto> orderList = orderService.getOrder();
for(int i=0;i<Math.min(queue.size(),orderList.size());i++){
bindings.add(BindingBuilder.bind(queue.get(i)).to(exchange).with(orderList.get(i).getEndOrgId()));
}
return bindings;
}
}
//package com.junmp.jyzb.config.rabbitMQ;
//
//import com.junmp.jyzb.api.bean.dto.OrderDto;
//import com.junmp.jyzb.service.OrderService;
//import org.springframework.amqp.core.*;
//import org.springframework.beans.factory.annotation.Qualifier;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
//import javax.annotation.Resource;
//import java.util.ArrayList;
//import java.util.List;
//
//@Configuration
//public class RabbitmqConfig {
// @Resource
// private OrderService orderService;
//
// //1.交换机
// @Bean("LogExchange")
// public Exchange bootExchange(){
// return ExchangeBuilder.directExchange("LogExchange").durable(true).build();
// }
//
// //2.队列
// @Bean("LogQueue")
// public Queue bootQueue(){
// return QueueBuilder.durable("LogQueue").build();
// }
// //3.队列和交换机的绑定关系(队列,交换机,rountingkey)
// @Bean
// public Binding bingQueueExchange(@Qualifier("LogQueue") Queue queue, @Qualifier("LogExchange")Exchange exchange){
// return BindingBuilder.bind(queue).to(exchange).with("log").noargs();
//
// }
//
// @Bean
// public DirectExchange OrderExchange(){
// return new DirectExchange("OrderExchange");
// }
//
// //2.队列
// @Bean
// public List<Queue> OrderQueue(){
// List<Queue> queues =new ArrayList<>();
// List<OrderDto> orderList = orderService.getOrder();
// for (OrderDto orderDto:orderList) {
// queues.add(new Queue(orderDto.getEndOrgName()));
// }
// return queues;
// }
//
// //3.队列和交换机的绑定关系(队列,交换机,rountingkey)
// @Bean
// public List<Binding> bindQueueExchange(List<Queue> queue, DirectExchange exchange){
// List<Binding> bindings=new ArrayList<>();
// List<OrderDto> orderList = orderService.getOrder();
// for(int i=0;i<Math.min(queue.size(),orderList.size());i++){
// bindings.add(BindingBuilder.bind(queue.get(i)).to(exchange).with(orderList.get(i).getEndOrgId()));
// }
// return bindings;
//
// }
//
//}
......@@ -4,9 +4,7 @@ import com.junmp.jyzb.api.bean.dto.*;
import com.junmp.jyzb.api.bean.query.*;
import com.junmp.jyzb.api.bean.req.EquipmentBindReq;
import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.entity.PubOrg;
import com.junmp.jyzb.service.*;
import com.junmp.jyzb.utils.ResponseResult;
import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
......@@ -17,10 +15,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;
@RestController
@Slf4j
......
package com.junmp.jyzb.controller;
import com.junmp.jyzb.entity.OrderLog;
import com.junmp.jyzb.service.OrderLogService;
import com.junmp.v2.common.bean.response.ApiRes;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@RestController
@Slf4j
@RequestMapping("/Log")
@Api(tags = "日志模块")
public class LogController {
@Resource
private OrderLogService orderLogService;
//查看单据日志
@PostMapping("/getLogsList")
@ApiOperation("获取日志")
public ApiRes<List<OrderLog>> getLogsList(){
return ApiRes.success(orderLogService.getLogsList());
}
}
package com.junmp.jyzb.controller;
import cn.hutool.core.util.ObjectUtil;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.junmp.jyzb.api.bean.dto.LogSummaryDto;
import com.junmp.jyzb.api.bean.dto.OrderDetailDto;
import com.junmp.jyzb.api.bean.dto.OrderDto;
import com.junmp.jyzb.api.bean.dto.OrderMainDto;
import com.junmp.jyzb.api.bean.query.OrderDetailReq;
import com.junmp.jyzb.api.bean.query.OrderMainReq;
import com.junmp.jyzb.api.bean.query.ProductSkuReq;
import com.junmp.jyzb.api.bean.req.UpdateOrderReq;
import com.junmp.jyzb.config.rabbitMQ.RabbitmqConfig;
import com.junmp.jyzb.rabbitmq.OrderMQSender;
import com.junmp.jyzb.service.LogSummaryService;
import com.junmp.jyzb.service.OrderLogService;
import com.junmp.jyzb.service.OrderService;
import com.junmp.jyzb.utils.ResponseResult;
import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes;
import io.swagger.annotations.Api;
......@@ -30,7 +27,6 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@RestController
@Slf4j
......@@ -67,9 +63,9 @@ public class OrderController {
//内部处理,任务单状态直接设置成finished 添加到数据并且直接推送到消息队列中去
@PostMapping("/AddFinishOrder")
@ApiOperation("新增已完成的任务单")
public ApiRes<String> AddFinishOrder(@RequestBody UpdateOrderReq req) {
public ApiRes<String> AddFinishOrder(@RequestBody UpdateOrderReq req) throws JsonProcessingException {
req.setExamineState("finished");
return ApiRes.success(orderService.AddOrder(req));
return ApiRes.success(orderService.AddFinishOrder(req));
}
......@@ -94,32 +90,22 @@ public class OrderController {
List<OrderDetailDto> orderDetail = orderService.getOrderDetail(req);
return ApiRes.success(orderDetail);
}
//将工作单添加到rabbitmq中去
@PostMapping("/AddOrderRabbitMq")
@ApiOperation("将工作单添加到rabbitmq消息队列中去")
public ApiRes<Boolean> AddOrderRabbitMq(){
List<OrderDto> order = orderService.getOrder();
List<String> orderId=new ArrayList<>();
for (OrderDto orderDto:order) {
//将routingKey设置为收物机构id
rabbitTemplate.convertAndSend("OrderExchange",orderDto.getEndOrgId(),orderDto);
orderId.add(orderDto.getId());
}
//将未被上传的数据进行上传到rabbitmq中,同时添加到数据库,标记为已上传数据,比避免同意数据多次或者重复上传
boolean b = orderLogService.addOrder(orderId);
return ApiRes.success(b);
}
//出入日志上报
@PostMapping("/OutInLogs")
@ApiOperation("出入日志上传")
public ApiRes<Boolean> AddLogsRabbitMq(){
List<LogSummaryDto> logs = logSummaryService.getLogs();
for (LogSummaryDto logSummaryDto:logs) {
rabbitTemplate.convertAndSend("LogExchange","log",logSummaryDto);
}
return ApiRes.success(true);
}
// //将工作单添加到rabbitmq中去
// @PostMapping("/AddOrderRabbitMq")
// @ApiOperation("将工作单添加到rabbitmq消息队列中去")
// public ApiRes<Boolean> AddOrderRabbitMq(){
// List<OrderDto> order = orderService.getOrder();
// List<String> orderId=new ArrayList<>();
// for (OrderDto orderDto:order) {
// //将routingKey设置为收物机构id
// rabbitTemplate.convertAndSend("OrderExchange",orderDto.getEndOrgId(),orderDto);
// orderId.add(orderDto.getId());
// }
// //将未被上传的数据进行上传到rabbitmq中,同时添加到数据库,标记为已上传数据,比避免同意数据多次或者重复上传
// boolean b = orderLogService.addOrder(orderId);
// return ApiRes.success(true);
// }
......
package com.junmp.jyzb.entity;
import lombok.*;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MessageWrapper implements Serializable {
private Object object;
private String type;
}
......@@ -5,6 +5,7 @@ import com.junmp.jyzb.api.bean.dto.EqsBriefDto;
import com.junmp.jyzb.api.bean.dto.EqsSumDto;
import com.junmp.jyzb.api.bean.dto.InventoryDto;
import com.junmp.jyzb.api.bean.query.InventoryReq;
import com.junmp.jyzb.api.bean.vo.InventoryVo;
import com.junmp.jyzb.entity.Inventory;
import com.junmp.jyzb.entity.InventorySummary;
import org.apache.ibatis.annotations.Mapper;
......@@ -40,4 +41,6 @@ public interface InventoryMapper extends BaseMapper<Inventory> {
//通过查询条件查询出装备数量报表
List<EqsSumDto> GetListEquipment(InventoryReq req);
List<InventoryVo> selectListByOrg(Long orgId);
}
\ No newline at end of file
package com.junmp.jyzb.rabbitmq;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.junmp.jyzb.entity.OrderLog;
import com.junmp.jyzb.service.OrderLogService;
import com.rabbitmq.client.Channel;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
......@@ -7,6 +10,7 @@ import org.springframework.amqp.support.AmqpHeaders;
import org.springframework.messaging.handler.annotation.Header;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.io.IOException;
import java.util.Map;
......@@ -14,38 +18,26 @@ import java.util.Map;
* 创建消息接收监听�
* */
@Component
@RabbitListener(queues = "Test1Exchange") //监听的队列名TestDirectQueue
@RabbitListener(queues = "Test1Exchange") //监听的队列名 TestDirectQueue
public class DirectReceiver {
@Resource
private OrderLogService orderLogService;
@RabbitHandler
private void modelConvert(String content, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) {
int retryCount = 0; // 初始化重试次数
boolean isRetry = false;
try {
ObjectMapper objectMapper=new ObjectMapper();
OrderLog orderLog = objectMapper.readValue(content, OrderLog.class);
// 进行消息处理和条件判断
if (content.equals("1")) {
System.out.println("DirectReceiver消费者收到消息 : " + content);
orderLogService.save(orderLog);
// 手动确认消息
channel.basicAck(deliveryTag, false);
} else {
// 不满足条件,拒绝消息并将其重新放回队列
}
} catch (Exception e) {
// 处理消息过程中发生异常,拒绝消息并将其重新放回队列
try {
channel.basicNack(deliveryTag, false, true);
isRetry = true;
} catch (IOException ex) {
// 处理异常
}
} finally {
if (isRetry) {
retryCount++;
// 判断重试次数是否达到限制
if (retryCount > 2) {
// 超过最大重试次数,将消息发送到死信队列
// 你需要创建一个死信队列,并在此处使用 channel.basicPublish() 将消息发送到死信队列
}
throw new RuntimeException(ex);
}
}
}
......
......@@ -12,5 +12,6 @@ import java.util.List;
*/
public interface OrderLogService extends IService<OrderLog> {
boolean addOrder(List<String> orderId);
List<OrderLog> getLogsList();
}
package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.junmp.jyzb.api.bean.dto.OrderDetailDto;
import com.junmp.jyzb.api.bean.dto.OrderDto;
import com.junmp.jyzb.api.bean.dto.OrderMainDto;
......@@ -15,6 +16,7 @@ import java.util.Map;
public interface OrderService extends IService<OrderMain> {
String AddOrder(UpdateOrderReq req);
String AddFinishOrder(UpdateOrderReq req) throws JsonProcessingException;
Boolean updateOrder(UpdateOrderReq req);
......
......@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.api.bean.dto.*;
import com.junmp.jyzb.api.bean.query.*;
import com.junmp.jyzb.api.bean.req.EquipmentBindReq;
import com.junmp.jyzb.api.bean.vo.InventoryVo;
import com.junmp.jyzb.api.exception.enums.CabinetBoxExceptionEnum;
import com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum;
import com.junmp.jyzb.api.exception.enums.InventoryExceptionEnum;
......@@ -285,8 +286,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
//判断组织机构是否存在
pubOrgService.PubOrgExist(req.getOrgId());
//查询该组织机构下的所有装备信息
List<Inventory> list = list(new LambdaQueryWrapper<Inventory>()
.eq(Inventory::getOrgId, req.getOrgId()));
List<InventoryVo> list = inventoryMapper.selectListByOrg(req.getOrgId());
HttpServletResponse response = HttpServletUtil.getResponse();
ExcelExportParam param = new ExcelExportParam();
param.setDataList(list);
......@@ -294,7 +294,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
param.setResponse(response);
param.setFileName("装备列表.xls");
//对数据进行导出
// ExcelUtils.exportExcel(list,filename,"装备导出",Inventory.class,filename,response);
officeExcelApi.easyExportDownload(param);
}
//获取装备的出入库信息
......@@ -319,8 +319,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
@Override
public List<EqsSumDto> GetListEquipment(InventoryReq req) {
//通过获取传递的查询条件进行查询,得到最终的装备数量报表
inventoryMapper.GetListEquipment(req);
return null;
return inventoryMapper.GetListEquipment(req);
}
//通过id判断装备是否存在
......
......@@ -19,18 +19,10 @@ import java.util.List;
public class OrderLogServiceImpl extends ServiceImpl<OrderLogMapper, OrderLog>
implements OrderLogService {
@Override
@Transactional(rollbackFor = Exception.class)
public boolean addOrder(List<String> orderId) {
List<OrderLog> orderLogList=new ArrayList<>();
for (String s:orderId) {
OrderLog orderLog = new OrderLog();
orderLog.setOrderId(s);
orderLog.setHistoryMsg("upload");
orderLogList.add(orderLog);
}
return this.saveBatch(orderLogList);
@Override
public List<OrderLog> getLogsList() {
return list();
}
}
......
......@@ -3,34 +3,33 @@ package com.junmp.jyzb.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.junmp.jyzb.api.bean.dto.OrderDetailDto;
import com.junmp.jyzb.api.bean.dto.OrderDto;
import com.junmp.jyzb.api.bean.dto.OrderMainDto;
import com.junmp.jyzb.api.bean.query.OrderDetailReq;
import com.junmp.jyzb.api.bean.query.OrderMainReq;
import com.junmp.jyzb.api.bean.req.DetailListReq;
import com.junmp.jyzb.api.bean.req.UpdateEquipmentSizeReq;
import com.junmp.jyzb.api.bean.req.UpdateOrderReq;
import com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum;
import com.junmp.jyzb.api.exception.enums.OrderExceptionEnum;
import com.junmp.jyzb.api.exception.enums.ProductExceptionEnum;
import com.junmp.jyzb.entity.*;
import com.junmp.jyzb.mapper.OrderMainMapper;
import com.junmp.jyzb.service.OrderDetailService;
import com.junmp.jyzb.service.OrderService;
import com.junmp.jyzb.utils.DateTimeUtil;
import com.junmp.jyzb.utils.HttpStatus;
import com.junmp.jyzb.utils.ResponseResult;
import com.junmp.jyzb.utils.ReturnMsg;
import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.util.BeanPlusUtil;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.core.RabbitAdmin;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.core.*;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.fasterxml.jackson.databind.ObjectMapper;
import javax.annotation.Resource;
import java.util.*;
import static com.junmp.jyzb.utils.CheckBlank.checkNotBlank;
@Service
public class OrderServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain> implements OrderService {
......@@ -39,6 +38,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain> i
private OrderDetailService orderDetailService;
@Resource
private OrderMainMapper orderMainMapper;
@Resource
private RabbitTemplate rabbitTemplate;
@Resource
private RabbitAdmin rabbitAdmin;
@Resource
private ObjectMapper objectMapper;
@Transactional(rollbackFor = Exception.class)
......@@ -66,6 +73,57 @@ public class OrderServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain> i
@Transactional(rollbackFor = Exception.class)
@Override
public String AddFinishOrder(UpdateOrderReq req) throws JsonProcessingException {
OrderMain order = new OrderMain();
BeanPlusUtil.copyProperties(req, order);
//保存
this.save(order);
List<OrderDetail> detailList = new ArrayList<>();
//通过遍历批量保存详细信息
req.getDetailList().forEach(p->
{
OrderDetail detail=new OrderDetail();
BeanPlusUtil.copyProperties(p, detail);
detail.setOrderId(order.getId());
//设置单据类型
detail.setType(order.getOrderType());
detailList.add(detail);
});
orderDetailService.saveBatch(detailList);
//将完成的任务单直接推送到消息队列rabbitmq中(需要判断是入库单还是出库单,入库单传发物单位id,出库单传收物单位id)
//方法1:一个交换机,一个队列。通过中间对象,object存储对象,type表标识
// if(req.getOrderType().equals("in")){
// rabbitTemplate.convertAndSend("OrderExchange","OrderRouting",new MessageWrapper(req,req.getStartOrgId()));
// }else {
// rabbitTemplate.convertAndSend("OrderExchange","OrderRouting",new MessageWrapper(req,req.getEndOrgId()));
// }
//方法2:一个交换机,多个队列。动态创建队列
String exchangeName="123456";
//需要判断是入库单还是出库单,入库单传发物单位id,出库单传收物单位id
if(req.getOrderType().equals("in")){
Queue queue=new Queue(req.getStartOrgId(),true,false,false);
Exchange exchange = new DirectExchange(exchangeName, true, false);
rabbitAdmin.declareQueue(queue);
rabbitAdmin.declareExchange(exchange);
rabbitAdmin.declareBinding(BindingBuilder.bind(queue).to(exchange).with(req.getStartOrgId()).noargs());
rabbitTemplate.convertAndSend(exchangeName, req.getStartOrgId(), req);
}else {
Queue queue=new Queue(req.getEndOrgId(),true,false,false);
Exchange exchange = new DirectExchange(exchangeName, true, false);
rabbitAdmin.declareQueue(queue);
rabbitAdmin.declareExchange(exchange);
rabbitAdmin.declareBinding(BindingBuilder.bind(queue).to(exchange).with(req.getStartOrgId()).noargs());
rabbitTemplate.convertAndSend(exchangeName, req.getEndOrgId(), req);
}
return order.getId();
}
@Transactional(rollbackFor = Exception.class)
@Override
public Boolean updateOrder(UpdateOrderReq req) {
OrderMain order = orderMainExist(req.getId());
if (!order.getExamineState().equals("none"))
......
......@@ -314,6 +314,42 @@ delete from base_inventory_summary
GROUP BY bi.org_id_int, bi.location_type
)as t
</select>
<select id="selectListByOrg" resultType="com.junmp.jyzb.api.bean.vo.InventoryVo">
select
i.id as id,
i.package_id as packageId,
i.epc as epc,
i.size_id as sizeId,
es.name as sizeName,
i.type_id as typeId,
et.name as typeName,
i.supplier_id as supplierId,
s.name as supplierName,
i.state as state,
i.location_state as locationState,
i.production_date as productionDate,
i.location_type as locationType,
i.location_id as locationId,
i.price as price,
i.shelf_id as shelfId,
i.shelf_location as shelfLocation,
i.bussiness_state as bussinessState,
i.warranty_period as warrantyPeriod,
i.maintenance_period as maintenancePeriod,
i.tid as tid,
i.note as note,
i.fix_count as fixCount,
i.term_state as termState,
i.lost_flag as lostFlag,
i.org_id_int as orgId,
po.org_name as orgName
from base_inventory i
join base_equipment_type et on et.id = i.type_id
join base_equipment_size es on es.id = i.size_id
join base_supplier s on s.id = i.supplier_id
join pub_org po on i.org_id_int=po.org_id
where org_id_int=#{orgId}
</select>
</mapper>
\ No newline at end of file
......@@ -110,6 +110,10 @@
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-mqtt</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
</dependencies>
<build>
......
......@@ -277,6 +277,30 @@
<artifactId>office-sdk-excel</artifactId>
<version>${junmp.v2.version}</version>
</dependency>
<!--消息推送-->
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>ws-boot-starter</artifactId>
<version>${junmp.v2.version}</version>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>message-boot-starter</artifactId>
<version>${junmp.v2.version}</version>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>ws-api</artifactId>
<version>${junmp.v2.version}</version>
</dependency>
<!--字符串转对象-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.5</version>
</dependency>
</dependencies>
</dependencyManagement>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论