Commit 1d1f75d6 by 李小惠

11

parent 93eea402
......@@ -48,7 +48,6 @@ public class CabinetController111 implements CabinetDoc {
}
@PostMapping("/UpdateCabinet")
@ApiOperation("修改单警柜信息")
public ApiRes<Boolean> updateCabinet(@RequestBody @Validated(ValidationApi.edit.class) CabinetReq req) throws Exception {
......
package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.jyzb.entity.Inventory;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -7,7 +9,7 @@ import java.util.List;
import java.util.Map;
@Mapper
public interface InventoryMapper {
public interface InventoryMapper extends BaseMapper<Inventory> {
Map<String, Object> getSum(String queryType, String typeId);
Map<String, Object> getOrgNum(String typeId);
......
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.junmp.jyzb.api.bean.req.InventoryReq;
import com.junmp.jyzb.domain.EquipmentSize;
import com.junmp.jyzb.domain.EquipmentType;
import com.junmp.jyzb.domain.PubOrg;
import com.junmp.jyzb.entity.Inventory;
import com.junmp.jyzb.service.CabinetService;
import com.junmp.jyzb.service.InventoryService;
import com.junmp.jyzb.service.WarehouseService;
import com.junmp.jyzb.utils.HttpStatus;
import com.junmp.jyzb.utils.ResponseResult;
import com.junmp.jyzb.utils.ReturnData;
import com.junmp.jyzb.utils.ReturnMsg;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import com.junmp.jyzb.mapper.InventoryMapper;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import static com.junmp.jyzb.utils.CheckBlank.checkNotBlank;
@Service
public class InventoryServiceImpl implements InventoryService {
public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory> implements InventoryService {
@Resource
private InventoryMapper inventoryMapper;
@Resource
private EquipmentTypeServiceImpl equipmentTypeService;
@Resource
private EquipmentSizeServiceImpl equipmentSizeService;
@Resource
private WarehouseService warehouseService;
......@@ -32,6 +40,24 @@ public class InventoryServiceImpl implements InventoryService {
private CabinetService cabinetService;
@Override
public Inventory getInventoryDetail(InventoryReq req) {
Inventory invMap=this.getById(req.getID());
if (invMap == null) {
return null;
}
// 查询与库存表关联的其他数据
EquipmentType equipmentTypeInfo = equipmentTypeService.getById(invMap.getTypeId());
EquipmentSize equipmentSizeInfo = equipmentSizeService.getById(invMap.getSizeId());
// 创建并填充对象
invMap.setSizeName(equipmentSizeInfo.getName());
invMap.setTypeName(equipmentTypeInfo.getName());
// 填充其他关联信息的字段和对象引用
return invMap;
// return this.list(wrapper).get(0);
}
@Override
public ResponseResult getEquipmentInfo(Map<String, Object> inMsg) {
//参数校验
try {
......@@ -45,7 +71,7 @@ public class InventoryServiceImpl implements InventoryService {
String queryType = inMsg.get("queryType").toString();
String idMsg = inMsg.get("typeId").toString();
//根据传入的queryType来辨别要查询什么信
//根据传入的queryType来辨别要查询什么信
if (queryType.equals("org") || queryType.equals("warehouse") || queryType.equals("cabinet")){
Map<String,Object> returnMsg = getLocationEquipmentInfo(queryType,idMsg);
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,returnMsg);
......@@ -72,7 +98,7 @@ public class InventoryServiceImpl implements InventoryService {
//检查resultMap中是否存在orgId
if (resultMap.containsKey(locationId)) {
// 获取现有组织级数
// 获取现有组织级数
Map<String, Object> orgData = (Map<String, Object>) resultMap.get(locationId);
List<Map<String, Object>> orgTypeList = (List<Map<String, Object>>) orgData.get("typeList");
......@@ -80,9 +106,9 @@ public class InventoryServiceImpl implements InventoryService {
boolean typeExist = false;
for (Map<String, Object> typeData : orgTypeList) {
if (typeId.equals(typeData.get("typeId"))) {
// 获取现有的类型级别数
// 获取现有的类型级别数
List<Map<String, Object>> sizeList = (List<Map<String, Object>>) typeData.get("sizeList");
sizeList.add(createSizeData(sizeId,sizeName, number,price)); //向sizeList中记录number的信
sizeList.add(createSizeData(sizeId,sizeName, number,price)); //向sizeList中记录number的信
int typeNumber = (int) typeData.get("typeNum");
float typePrice = (float) typeData.get("typeTotalPrice");
typeData.put("typeNum", typeNumber + number); //计算装备数量
......@@ -149,11 +175,11 @@ public class InventoryServiceImpl implements InventoryService {
public ResponseResult setInventoryMsg(){
inventoryMapper.deleteAllMsg(); //清空数据库中已存在的信息
inventoryMapper.setOrgInventory(); //放入组织机构信息汇
inventoryMapper.setOrgInventory(); //放入组织机构信息汇
inventoryMapper.setCabinetInventory(); //放入组织机构信息汇
inventoryMapper.setCabinetInventory(); //放入组织机构信息汇
inventoryMapper.setWarehouseInventory(); //放入组织机构信息汇
inventoryMapper.setWarehouseInventory(); //放入组织机构信息汇
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS);
}
......@@ -167,7 +193,7 @@ public class InventoryServiceImpl implements InventoryService {
}
String locationType = msg.get("locationType").toString();
if (!locationType.equals("warehouse") && !locationType.equals("cabinet")){
return new ResponseResult(HttpStatus.ERROR, ReturnMsg.ERROR,"输入的locationType值有);
return new ResponseResult(HttpStatus.ERROR, ReturnMsg.ERROR,"输入的locationType值有�");
}else if(locationType.equals("warehouse")){
warehouseService.setWarehouseInventory(msg);
}else if(locationType.equals("cabinet")){
......@@ -194,7 +220,7 @@ public class InventoryServiceImpl implements InventoryService {
String typeId = msg.get("typeId").toString();
String sizeId = msg.get("sizeId").toString();
//根据传入的queryType来辨别要查询什么信
//根据传入的queryType来辨别要查询什么信
if (queryType.equals("org") || queryType.equals("warehouse") || queryType.equals("cabinet")){
List<Map<String,Object>> returnMsg = inventoryMapper.getInventoryList(queryType,typeCode,typeId,sizeId);
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,returnMsg);
......@@ -220,7 +246,6 @@ public class InventoryServiceImpl implements InventoryService {
public ResponseResult getInventoryDevelop() {
return null;
}
}
@Override
public ResponseResult InvertoryBindBox(Map<String, Object> msg) {
......@@ -231,9 +256,9 @@ public class InventoryServiceImpl implements InventoryService {
} catch (IllegalArgumentException e) {
return new ResponseResult(HttpStatus.ERROR, ReturnMsg.ERROR,e.getMessage());
}
//将装备和箱门进行绑定(简单来 说就是更新数据库中的单条记录信息
//将装备和箱门进行绑定(简单来 说就是更新数据库中的单条记录信息
Inventory inventory = inventoryMapper.selectOne(new LambdaQueryWrapper<Inventory>()
.eq(Inventory::getId, msg.get("inventoryId"))
.eq(Inventory::getID, msg.get("inventoryId"))
.eq(Inventory::getLocationId, msg.get("locationId")));
if (Objects.isNull(inventory)){
return new ResponseResult(HttpStatus.ERROR, ReturnMsg.ERROR, ReturnData.NO_DATA);
......@@ -242,4 +267,27 @@ public class InventoryServiceImpl implements InventoryService {
inventoryMapper.updateById(inventory);
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,"绑定成功");
}
/**
* @Author: Zhaojw
* @Description: 生成lambda表达式
* @DateTime: 2023/7/20 13:08
* @Params:
* @Return
*/
private LambdaQueryWrapper<Inventory> createWrapper(InventoryReq req) {
LambdaQueryWrapper<Inventory> wrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isEmpty(req)) {
return wrapper;
}
//根据库存ID查询
wrapper.eq(ObjectUtil.isNotEmpty(req.getID()), Inventory::getID, req.getID());
//根据epc模糊查询
wrapper.like(ObjectUtil.isNotEmpty(req.getEpc()), Inventory::getEpc, req.getEpc());
//根据位置
wrapper.eq(ObjectUtil.isNotEmpty(req.getLocationId()), Inventory::getLocationId, req.getLocationId());
wrapper.orderByDesc(Inventory::getUpdateTime);
return wrapper;
}
}
......@@ -7,14 +7,13 @@ import org.springframework.stereotype.Component;
import java.util.Map;
/**
* 创建消息接收监听
* 创建消息接收监听
* */
@Component
@RabbitListener(queues = "TestDirectQueue") //监听的队列名TestDirectQueue
@RabbitListener(queues = "TestDirectQueue") //监听的队列名TestDirectQueue
public class DirectReceiver {
@RabbitHandler
public void process(Map testMessage) {
System.out.println("DirectReceiver消费者收到消 : " + testMessage.toString());
System.out.println("DirectReceiver消费者收到消 : " + testMessage.toString());
}
}
}
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论