Commit ad5d14ee by 赵剑炜

修改库存

parent e67c2b73
//package com.junmp.jyzb.api.bean.dto;
//
//import lombok.Data;
//
//@Data
//public class EquipmentSizeDto {
// /**
// * 号型ID
// */
// private String id;
//
// /**
// * 号型名称
// */
// private String name;
//}
//package com.junmp.jyzb.api.bean.dto;
//
//import lombok.Data;
//
//@Data
//public class EquipmentSupplierDto {
// /**
// * 类型ID
// */
// private String id;
//
// /**
// * 类型名称
// */
// private String name;
//}
//package com.junmp.jyzb.api.bean.dto;
//
//import lombok.Data;
//
//@Data
//public class EquipmentTypeDto {
// /**
// * 类型ID
// */
// private String id;
//
// /**
// * 类型名称
// */
// private String name;
//
//}
package com.junmp.jyzb.api.bean.dto;
import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class InventoryDto implements Serializable {
private String ID;
/**
* 装备包ID
*/
private String packageId;
/**
* 装备类型ID
*/
private String typeId;
/**
* 装备类型
*/
// private EquipmentTypeDto eqType;
/**
* 装备号型ID
*/
private String sizeId;
/**
* 装备号型
*/
// private EquipmentSizeDto eqSize;
/**
* 供应商
*/
private String supplierName;
/**
* 供应商ID
*/
private String supplierId;
/**
* 部门ID
*/
private long departmentId;
/**
* 部门
*/
private long departmentName;
/**
* 货架位置
*/
private String shelfLocation;
/**
* 货架位置
*/
private String shelfId;
/**
* epc
*/
private String epc;
/**
* 组织机构ID
*/
private String orgId;
/**
* 组织机构
*/
private String orgName;
/**
* 物资状态
*/
private String state;
/**
* 业务状态
*/
private String bussiness_state;
/**
* 位置状态
*/
private String locationState;
/**
* 生产日期
*/
private DateTime productionDate;
/**
* 质保期
*/
private int warrantyPeriod;
/**
* 维保期
*/
private int maintenancePeriod;
/**
* 维修次数
*/
private int fixCount;
/**
* 位置类型
*/
private String locationType;
/**
* 位置ID
*/
private String locationId ;
/**
* 位置
*/
private String locationName ;
/**
* 是否遗失
*/
private int lostFlag ;
/**
* Tid
*/
private String tid ;
/**
* 价格
*/
private BigDecimal price ;
/**
* 备注
*/
private String note ;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 创建时间
*/
private String updateUser;
/**
* 更新时间
*/
private String createUser;
}
package com.junmp.jyzb.api.bean.req;
import cn.hutool.core.date.DateTime;
import com.junmp.v2.common.bean.request.BaseRequest;
import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.validator.api.validators.unique.TableUniqueValue;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = true)
public class InventoryReq extends BaseRequest {
private String ID;
/**
* 装备包ID
*/
private String packageId;
/**
* 装备类型ID
*/
private String typeId;
/**
* 装备号型ID
*/
private String sizeId;
/**
* 装备号型
*/
private String sizeName;
/**
* 供应商
*/
private String supplierName;
/**
* 供应商ID
*/
private String supplierId;
/**
* 部门ID
*/
private long departmentId;
/**
* 货架位置
*/
private String shelfId;
/**
* epc
*/
private String epc;
/**
* 组织机构ID
*/
private String orgId;
/**
* 物资状态
*/
private String state;
/**
* 业务状态
*/
private String bussiness_state;
/**
* 位置状态
*/
private String locationState;
/**
* 生产日期
*/
private DateTime productionDate;
/**
* 位置类型
*/
private String locationType;
/**
* 位置ID
*/
private String locationId ;
/**
* 是否遗失
*/
private int lostFlag ;
}
package com.junmp.jyzb.controller;
import com.junmp.jyzb.api.bean.dto.InventoryDto;
import com.junmp.jyzb.api.bean.dto.ProductBatchDto;
import com.junmp.jyzb.api.bean.req.InventoryReq;
import com.junmp.jyzb.api.bean.req.ProductBatchReq;
import com.junmp.jyzb.entity.Inventory;
import com.junmp.jyzb.service.InventoryService;
import com.junmp.jyzb.utils.ResponseResult;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
......@@ -42,6 +49,12 @@ public class InventoryController {
return returnMsg;
}
@PostMapping("/GetDetail")
@ApiOperation("查询库存明细信息")
public ApiRes<Inventory> getDetail(@RequestBody InventoryReq req) {
return ApiRes.success(inventoryService.getInventoryDetail(req));
}
@PostMapping("/UpdateInventoryNum")
@ApiOperation("手动重置库存数量信息")
public ResponseResult updateInventoryNum(@RequestBody Map<String,Object> msg){
......
package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
@TableName("base_inventory")
public class EquipmentType implements Serializable {
/**
* 装备类型ID
*/
private String id;
/**
* 类型名称
*/
private String name;
/**
* 单位
*/
private String unit;
/**
* 单位类型
*/
@TableField(value = "unit_type")
private String unitType;
/**
* 装备Code码
*/
private String code;
/**
* 上级id
*/
@TableField(value = "parent_id")
private String parentId;
/**
* 上级ids
*/
@TableField(value = "parent_ids")
@ApiModelProperty(value = "上级id")
private String parentIds;
/**
* 创建时间
*/
@TableField(value = "create_time", fill = FieldFill.INSERT)
private Date createTime;
/**
* 更新时间
*/
@TableField(value = "update_time", fill = FieldFill.UPDATE)
private Date updateTime;
/**
* 当前状态:0关闭/1启用
*/
@ApiModelProperty(value = "当前状态:0关闭/1启用")
private Integer state;
/**
* 备注
*/
@ApiModelProperty(value = "备注")
private String note;
/**
* 类型,0类别,1装备
*/
@ApiModelProperty(value = "类型,0类别,1装备")
private Integer type;
private static final long serialVersionUID = 1L;
}
package com.junmp.jyzb.entity;
import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Author: Zhaojw
* @Description: 库存
* @DateTime: 2023/7/20 10:55
* @Params:
* @Return
*/
@Data
@TableName("base_inventory")
public class Inventory implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
private String ID;
/**
* 装备包ID
*/
@TableField("package_id")
private String packageId;
/**
* 装备类型ID
*/
@TableField("type_id")
private String typeId;
/**
* 装备类型名称
*/
private String typeName;
/**
* 装备类型ID
*/
@TableField("size_id")
private String sizeId;
/**
* 装备类型名称
*/
private String sizeName;
/**
* 供应商ID
*/
@TableField("supplier_id")
private String supplierId;
/**
* 部门ID
*/
@TableField("department_id")
private long departmentId;
/**
* 货架位置
*/
@TableField("shelf_location")
private String shelfLocation;
/**
* 货架位置
*/
@TableField("shelf_id")
private String shelfId;
/**
* epc
*/
private String epc;
/**
* 组织机构ID
*/
@TableField("org_id_int")
private String orgId;
/**
* 规格尺寸
*/
private String state;
/**
* 业务状态
*/
private String bussiness_state;
/**
* 位置状态
*/
@TableField("location_state")
private String locationState;
/**
* 生产日期
*/
@TableField("production_date")
private Date productionDate;
/**
* 质保期
*/
@TableField("warranty_period")
private int warrantyPeriod;
/**
* 维保期
*/
@TableField("maintenance_period")
private int maintenancePeriod;
/**
* 维修次数
*/
@TableField("fix_count")
private int fixCount;
/**
* 位置类型
*/
@TableField(value = "location_type")
private String locationType;
/**
* 位置ID
*/
@TableField(value = "location_id")
private String locationId ;
/**
* 是否遗失
*/
@TableField(value = "lost_flag")
private int lostFlag ;
/**
* 是否遗失
*/
private String tid ;
/**
* 价格
*/
private BigDecimal price ;
/**
* 备注
*/
private String note ;
/**
* 创建时间
*/
@TableField(value = "create_time", fill = FieldFill.INSERT)
private Date createTime;
/**
* 更新时间
*/
@TableField(value = "update_time", fill = FieldFill.UPDATE)
private Date updateTime;
/**
* 创建时间
*/
@TableField(value = "update_user", fill = FieldFill.INSERT)
private String updateUser;
/**
* 更新时间
*/
@TableField(value = "create_user", fill = FieldFill.UPDATE)
private String createUser;
}
\ No newline at end of file
package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.jyzb.domain.EquipmentSize;
import com.junmp.jyzb.domain.EquipmentType;
import com.junmp.jyzb.domain.Warehouse;
import org.apache.ibatis.annotations.Mapper;
......@@ -8,7 +10,7 @@ import java.util.List;
import java.util.Map;
@Mapper
public interface EquipmentSizeMapper {
public interface EquipmentSizeMapper extends BaseMapper<EquipmentSize> {
public int addSize(EquipmentSize size);
......
package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.jyzb.domain.EquipmentType;
import com.junmp.jyzb.domain.Warehouse;
import com.junmp.jyzb.entity.ProductBatch;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -9,7 +11,7 @@ import java.util.List;
import java.util.Map;
@Mapper
public interface EquipmentTypeMapper {
public interface EquipmentTypeMapper extends BaseMapper<EquipmentType> {
void addEquipment(EquipmentType equipmentType);
......
package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.jyzb.domain.EquipmentSize;
import com.junmp.jyzb.entity.Inventory;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -7,7 +10,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;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.jyzb.api.bean.dto.InventoryDto;
import com.junmp.jyzb.api.bean.req.InventoryReq;
import com.junmp.jyzb.entity.Inventory;
import com.junmp.jyzb.entity.ProductSku;
import com.junmp.jyzb.utils.ResponseResult;
import java.util.Map;
public interface InventoryService{
public interface InventoryService extends IService<Inventory> {
Inventory getInventoryDetail(InventoryReq msg);
ResponseResult getEquipmentInfo(Map<String, Object> msg);
ResponseResult setInventoryMsg();
......@@ -13,6 +21,7 @@ public interface InventoryService{
ResponseResult getInventoryList(Map<String, Object> msg);
ResponseResult getInventoryByOrgId(Map<String, Object> msg);
ResponseResult getInventoryDevelop();
......
package com.junmp.jyzb.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.domain.EquipmentSize;
import com.junmp.jyzb.domain.EquipmentType;
import com.junmp.jyzb.mapper.EquipmentTypeMapper;
......@@ -17,7 +18,7 @@ import java.util.*;
import static com.junmp.jyzb.utils.CheckBlank.checkNotBlank;
@Service
public class EquipmentSizeServiceImpl implements EquipmentSizeService {
public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, EquipmentSize> implements EquipmentSizeService {
@Resource
private EquipmentSizeMapper equipmentSizeMapper;
......
package com.junmp.jyzb.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.domain.EquipmentType;
import com.junmp.jyzb.domain.PubOrg;
import com.junmp.jyzb.entity.ProductBatch;
import com.junmp.jyzb.mapper.ProductBatchMapper;
import com.junmp.jyzb.mapper.SupplierMapper;
import com.junmp.jyzb.service.EquipmentTypeService;
import com.junmp.jyzb.utils.*;
......@@ -14,7 +17,7 @@ import java.util.*;
import static com.junmp.jyzb.utils.CheckBlank.checkNotBlank;
@Service
public class EquipmentTypeServiceImpl implements EquipmentTypeService {
public class EquipmentTypeServiceImpl extends ServiceImpl<EquipmentTypeMapper, EquipmentType> implements EquipmentTypeService {
@Resource
private RedisUtils redisUtils;
......
package com.junmp.jyzb.service.impl;
import com.junmp.jyzb.domain.PubOrg;
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.dto.InventoryDto;
import com.junmp.jyzb.api.bean.req.InventoryReq;
import com.junmp.jyzb.domain.EquipmentSize;
import com.junmp.jyzb.domain.EquipmentType;
import com.junmp.jyzb.entity.Inventory;
import com.junmp.jyzb.service.CabinetService;
import com.junmp.jyzb.service.InventoryService;
import com.junmp.jyzb.service.ProductService;
import com.junmp.jyzb.service.WarehouseService;
import com.junmp.jyzb.utils.HttpStatus;
import com.junmp.jyzb.utils.ResponseResult;
import com.junmp.jyzb.utils.ReturnMsg;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import com.junmp.jyzb.mapper.InventoryMapper;
......@@ -20,11 +31,15 @@ import java.util.Map;
import static com.junmp.jyzb.utils.CheckBlank.checkNotBlank;
@Service
public class InventoryServiceImpl implements InventoryService {
@Slf4j
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 +47,23 @@ 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 {
......@@ -220,4 +252,26 @@ public class InventoryServiceImpl implements InventoryService {
public ResponseResult getInventoryDevelop() {
return null;
}
/**
* @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;
}
}
package com.junmp.jyzb.task;
public class UpdateSummaryAction {
}
......@@ -4,7 +4,7 @@
server:
tomcat:
uri-encoding: UTF-8 #tomcat编码
port: 10031 #tomcat端口
port: 10051 #tomcat端口
spring:
main:
#bea同名类进行注册时,准许覆盖注册
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论