Commit ee649306 by shenweidong

更新了warehouse模块

parent dfc62208
......@@ -2,6 +2,7 @@ package com.junmp.jyzb.api.bean.req;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.junmp.v2.common.bean.request.BaseRequest;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
......@@ -36,12 +37,11 @@ public class WarehouseReq extends BaseRequest {
private String updateUser;
private Long orgIdInt;
@JsonProperty(value = "orgId")
private Long orgId;
private Boolean isLocked;
private String orgId;
private Integer sum;
private Integer outSum;
......@@ -53,4 +53,7 @@ public class WarehouseReq extends BaseRequest {
private Integer state;
private Long orderId;
@JsonProperty(value = "IncludeLowerLevel")
private String IncludeLowerLevel;
}
\ No newline at end of file
package com.junmp.jyzb.api.exception.enums;
import com.junmp.jyzb.api.constant.JYZBConstant;
import com.junmp.v2.common.constant.CommonConstant;
import com.junmp.v2.common.exception.IExceptionEnum;
import lombok.Getter;
@Getter
public enum WarehouseExceptionEnum implements IExceptionEnum {
/**
* 仓库信息不存在
*/
WAREHOUSE_NOT_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE + JYZBConstant.JYZB_EXCEPTION_STEP_CODE + 12, "仓库信息不存在"),
/**
* 产品信息不存在
*/
PRODUCT_SKU_NOT_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE + JYZBConstant.JYZB_EXCEPTION_STEP_CODE + 13, "号型不存在"),
/**
* 批次信息不存在
*/
BATCH_NOT_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE + JYZBConstant.JYZB_EXCEPTION_STEP_CODE + 14, "批次不存在"),
/**
* 批次信息不存在
*/
BATCH_PROCESSED(CommonConstant.DEFAULT_USER_ERROR_CODE + JYZBConstant.JYZB_EXCEPTION_STEP_CODE + 15, "批次已生产"),
/**
* 批次生产已完成
*/
BATCH_PROCESSED_DONE(CommonConstant.DEFAULT_USER_ERROR_CODE + JYZBConstant.JYZB_EXCEPTION_STEP_CODE + 16, "批次生产已完成"),
/**
* 批次生产已完成
*/
MODIFY_NUM_ERROR(CommonConstant.DEFAULT_USER_ERROR_CODE + JYZBConstant.JYZB_EXCEPTION_STEP_CODE + 17, "批次生产已完成,数量不能小于原数量"),
/**
* 标签信息不存在
*/
TAG_INFO_NOT_EXISTS(CommonConstant.DEFAULT_USER_ERROR_CODE + JYZBConstant.JYZB_EXCEPTION_STEP_CODE + 19, "标签信息不存在"),
/**
* 标签信息初始化完成
*/
TAG_INFO_INIT_DONE(CommonConstant.DEFAULT_USER_ERROR_CODE + JYZBConstant.JYZB_EXCEPTION_STEP_CODE + 20, "检查标签信息是否绑定完成"),
/**
* 标签已绑定
*/
TAG_INFO_HAD_BINDING(CommonConstant.DEFAULT_USER_ERROR_CODE + JYZBConstant.JYZB_EXCEPTION_STEP_CODE + 21, "标签已绑定"),
/**
* 确认绑定是否已完成
*/
TAG_UID_BINDING_ERROR(CommonConstant.DEFAULT_USER_ERROR_CODE + JYZBConstant.JYZB_EXCEPTION_STEP_CODE + 22, "确认绑定是否已完成"),
/**
* 标签重复
*/
TAG_INFO_REPEAT_ERROR(CommonConstant.DEFAULT_USER_ERROR_CODE + JYZBConstant.JYZB_EXCEPTION_STEP_CODE + 23, "标签重复"),
;
/**
* 错误编码
*/
private final Integer code;
/**
* 提示用户信息
*/
private final String message;
WarehouseExceptionEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
}
......@@ -32,7 +32,6 @@ public class PoliceController {
return returnMsg;
}
@PostMapping("/AddFaceInfo")
@ApiOperation("添加警员面部信息")
public ResponseResult addFaceInfo(@RequestBody Map<String,Object> msg) {
......
package com.junmp.jyzb.controller;
import com.junmp.jyzb.api.bean.req.ProductReq;
import com.junmp.jyzb.api.bean.req.SupplierReq;
import com.junmp.jyzb.api.bean.req.WarehouseReq;
import com.junmp.jyzb.entity.Product;
import com.junmp.jyzb.entity.Warehouse;
import com.junmp.jyzb.service.PoliceFingerService;
import com.junmp.jyzb.service.PolicemanService;
import com.junmp.jyzb.service.WarehouseService;
......@@ -10,6 +12,7 @@ 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 com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -56,23 +59,21 @@ public class WarehouseController {
@PostMapping("/DeleteWarehouse")
@ApiOperation("删除仓库信息")
public ApiRes<Boolean> deleteWarehouse(@RequestBody @Validated(WarehouseReq.delete.class)List<WarehouseReq> req) {
public ApiRes<Boolean> deleteWarehouse(@RequestBody @Validated(WarehouseReq.delete.class)WarehouseReq req) {
//ResponseResult returnMsg = warehouseService.deleteWarehouse(msg);
return ApiRes.success(warehouseService.deleteWarehouse(req));
}
@PostMapping("/ChangeWarehouseState")
@ApiOperation("禁用/启用仓库")
public ResponseResult changeWarehouseState(@RequestBody Map<String,Object> msg) {
ResponseResult returnMsg = warehouseService.changeWarehouseState(msg);
return returnMsg;
public ApiRes<Boolean> changeWarehouseState(@RequestBody @Validated(WarehouseReq.edit.class) WarehouseReq req) {
return ApiRes.success(warehouseService.changeWarehouseState(req));
}
@PostMapping("/ShowWarehouse")
@ApiOperation("查询仓库列表")
public ResponseResult getAllWarehouse(@RequestBody Map<String, Object> orgId){
ResponseResult returnMsg = warehouseService.getAllWarehouse(orgId);
return returnMsg;
public ApiRes<List<Warehouse>> getAllWarehouse(@RequestBody WarehouseReq req){
return ApiRes.success(warehouseService.getAllWarehouse(req));
// //获取该组织机构下所有警员的id
// List<Map<String, Object>> allWarehouse=new ArrayList<>();
......@@ -86,9 +87,8 @@ public class WarehouseController {
@PostMapping("/GetWarehouseDetail")
@ApiOperation("查询单个仓库信息")
public ResponseResult getOneWarehouse(@RequestBody Map<String, Object> msg) {
ResponseResult returnMsg = warehouseService.getOneWarehouse(msg);
return returnMsg;
public ApiRes<Warehouse> getOneWarehouse(@RequestBody @Validated(WarehouseReq.detail.class)WarehouseReq req) {
return ApiRes.success(warehouseService.getOneWarehouse(req));
}
@PostMapping("/UpdateWarehouse")
......@@ -98,7 +98,6 @@ public class WarehouseController {
return returnMsg;
}
@PostMapping("/AddArea")
@ApiOperation("添加区域")
public ResponseResult addArea(@RequestBody Map<String,Object> msg) {
......
package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
......@@ -37,10 +34,10 @@ public class Warehouse implements Serializable {
@TableField("video")
private String video;
@TableField("create_time")
@TableField(value = "create_time", fill = FieldFill.INSERT)
private Date createTime;
@TableField("update_time")
@TableField(value = "update_time", fill = FieldFill.UPDATE)
private Date updateTime;
@TableField("update_user")
......
......@@ -28,7 +28,7 @@ public interface WarehouseMapper extends BaseMapper<Warehouse> {
List<Map<String, Object>> getAllWarehouse();
List<Map<String, Object>> getAllWarehouseByOrgList(List<String> allOrgId);
List<Warehouse> getAllWarehouseByOrgList(List<String> allOrgId);
void setWarehouseSumInventory(@Param("updateId") String id);
......
......@@ -2,6 +2,7 @@ package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.jyzb.api.bean.req.ProductReq;
import com.junmp.jyzb.api.bean.req.SupplierReq;
import com.junmp.jyzb.api.bean.req.WarehouseReq;
import com.junmp.jyzb.entity.Product;
import com.junmp.jyzb.entity.Warehouse;
......@@ -13,20 +14,30 @@ import java.util.Map;
public interface WarehouseService extends IService<Warehouse> {
//ResponseResult addWarehouse(Map<String, Object> msg);
/**
* 新增
*
* @param req
*/
boolean addWarehouse(WarehouseReq req);
ResponseResult getOneWarehouse(Map<String, Object> id);
/**
* 查询单个仓库信息
*
* @param req
*/
Warehouse getOneWarehouse(WarehouseReq req);
// ResponseResult deleteWarehouse(Map<String, Object> msg);
boolean deleteWarehouse(List<WarehouseReq> req);
boolean deleteWarehouse(WarehouseReq req);
ResponseResult updateWarehouse(Map<String, Object> msg);
List<String> getAllWarehouseId(Map<String, Object> orgId);
ResponseResult changeWarehouseState(Map<String, Object> msg);
boolean changeWarehouseState(WarehouseReq req);
ResponseResult getAllWarehouse(Map<String, Object> orgId);
List<Warehouse> getAllWarehouse(WarehouseReq orgId);
/**
* 新增8接口
......
......@@ -82,7 +82,7 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
//查询是否有重复的policeCode
List<String> policeCodeFlag = policemanMapper.getPoliceByPoliceCode((String) policeman.get("policeCode"));
if (!policeCodeFlag.isEmpty()){
return new ResponseResult(HttpStatus.ERROR, ReturnMsg.ERROR,"警员编号已存在");
return new ResponseResult(HttpStatus.ERROR,ReturnMsg.ERROR,"警员编号已存在");
}
//todo cabinetBoxId能否重复
......
......@@ -263,7 +263,7 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem
@Override
public List<String> getLowerOrg(String orgId) {
//构建 Redis 缓存�
String redisKey = "showPubOrgList_"+orgId;
String redisKey = "getLowerOrg";
// �Redis 中获取数�
List<PubOrg> cachedData = redisUtils.findCachedData(redisKey);
......
......@@ -170,6 +170,9 @@ public class SupplierServiceImpl extends ServiceImpl<SupplierMapper, Supplier> i
@Override
public List<Supplier> showSupplier(SupplierReq req) {
System.out.println(req);
LambdaQueryWrapper<Supplier> wrapper = createWrapper(req);
return this.list(wrapper);
}
......
package com.junmp.jyzb.service.impl;
import cn.hutool.core.bean.BeanUtil;
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.ProductReq;
import com.junmp.jyzb.api.bean.req.WarehouseReq;
import com.junmp.jyzb.api.exception.enums.ProductExceptionEnum;
import com.junmp.jyzb.api.exception.enums.SupplierExceptionEnum;
import com.junmp.jyzb.api.exception.enums.WarehouseExceptionEnum;
import com.junmp.jyzb.api.util.GenCodeUtil;
import com.junmp.jyzb.entity.*;
import com.junmp.jyzb.mapper.*;
......@@ -120,8 +125,18 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
return this.save(warehouse);
}
@Override
public Warehouse getOneWarehouse(WarehouseReq req) {
Warehouse warehouseMsg=this.getById(req.getId());
if (warehouseMsg == null) {
return null;
}
// 填充其他关联信息的字段和对象引用
return warehouseMsg;
}
//@Override
public ResponseResult getOneWarehouse(Map<String, Object> id) {
try {
checkNotBlank(id.get("warehouseId"), "warehouseId不能为空");
......@@ -153,12 +168,8 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
}
@Override
public boolean deleteWarehouse(List<WarehouseReq> req) {
for (WarehouseReq one:req){
Warehouse warehouse = queryWarehouse(one);
this.removeById(one.getId());
//productSkuService.delByProductId(product.getProductId());
}
public boolean deleteWarehouse(WarehouseReq req) {
this.removeById(req.getId());
return true;
}
......@@ -209,7 +220,7 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
return subIds;
}
@Override
//@Override
public ResponseResult changeWarehouseState(Map<String, Object> msg) {
try {
checkNotBlank(msg.get("warehouseId"), "warehouseId不能为空");
......@@ -227,72 +238,45 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
}
@Override
public ResponseResult getAllWarehouse(Map<String, Object> msg) {
try {
checkNotBlank(msg.get("orgId"), "orgId不能为空");
checkNotBlank(msg.get("IncludeLowerLevel"), "IncludeLowerLevel不能为空");
} catch (IllegalArgumentException e) {
return new ResponseResult(HttpStatus.ERROR, ReturnMsg.ERROR,e.getMessage());
}
List<Map<String, Object>> allWarehouse=new ArrayList<>();
// // 构建 Redis 缓存键
// String redisKey = REDIS_WAREHOUSE + msg.get("IncludeLowerLevel").toString() + "_" + msg.get("orgId").toString();
// // 从 Redis 中获取数据
// List<Map<String, Object>> cachedData = redisUtils.findCachedData(redisKey);
// if (cachedData != null) {
// //将Long类型的数据转化为Date
// for (Map<String,Object> one:cachedData){
// Long dataMsg = (Long) one.get("updateTime");
// one.put("updateTime", redisUtils.getDate(dataMsg));
// allWarehouse.add(one);
// }
// return new ResponseResult(HttpStatus.SUCCESS,ReturnMsg.PASS,allWarehouse);
// }
public List<Warehouse> getAllWarehouse(WarehouseReq msg) {
// Warehouse warehouse = new Warehouse();
// BeanPlusUtil.copyProperties(msg, warehouse);
//
List<Warehouse> allWarehouse=new ArrayList<>();
//如果组织机构是浙江省公安厅
if (msg.get("orgId").toString().equals("1369509498032808905") && msg.get("IncludeLowerLevel").toString().equals("true")){
allWarehouse = warehouseMapper.getAllWarehouse();
//将查询结果存入 Redis 中
//redisUtils.set(redisKey, allWarehouse);
return new ResponseResult(HttpStatus.SUCCESS,ReturnMsg.PASS,allWarehouse);
if (msg.getOrgId().equals(1369509498032808905l) && msg.getIncludeLowerLevel().equals("true")){
allWarehouse = this.list();
return allWarehouse;
}
//获取组织机构Id
List<String> allOrgId =getAllOrgId(msg);
if (allOrgId.isEmpty()){
return new ResponseResult(HttpStatus.ERROR,ReturnMsg.ERROR,"未查询到相关信息");
}
//根据获取的组织机构查询警员信息
allWarehouse = getAllWarehouseByOrg(msg,allOrgId);
//获取该组织机构下所有仓库的id
//String orgId = msg.get("orgId").toString();
// List<String> allWarehouseId =getAllWarehouseId(msg);
// for (String warehouseId :allWarehouseId){
// Map<String, Object> warehouseMsg = warehouseMapper.getOneWarehouse(warehouseId);
// allWarehouse.add(warehouseMsg);
// }
//将查询结果存入 Redis 中
//redisUtils.set(redisKey, allWarehouse);
return new ResponseResult(HttpStatus.SUCCESS,ReturnMsg.PASS,allWarehouse);
allWarehouse = getAllWarehouseByOrg(allOrgId);
return allWarehouse;
}
private List<String> getAllOrgId(Map<String, Object> msg) {
private List<String> getAllOrgId(WarehouseReq msg) {
List<String> allOrg = new ArrayList<>();
if (msg.get("IncludeLowerLevel").equals("false")){
allOrg.add((String) msg.get("orgId"));
}else if(msg.get("IncludeLowerLevel").equals("true")){
if (msg.getIncludeLowerLevel().equals("false")){
allOrg.add(msg.getOrgId().toString());
}else if(msg.getIncludeLowerLevel().equals("true")){
//查询某组织机构的本级及下级
allOrg = pubOrgService.getLowerOrg(msg.get("orgId").toString());
allOrg = pubOrgService.getLowerOrg(msg.getOrgId().toString());
}
return allOrg;
}
private List<Map<String, Object>> getAllWarehouseByOrg(Map<String, Object> msg, List<String> allOrgId) {
List<Map<String, Object>> allWarehouse = new ArrayList<>();
allWarehouse = warehouseMapper.getAllWarehouseByOrgList(allOrgId);
private List<Warehouse> getAllWarehouseByOrg(List<String> allOrgId) {
List<Warehouse> allWarehouse = new ArrayList<>();
LambdaQueryWrapper<Warehouse> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(Warehouse::getOrgIdInt, allOrgId);
allWarehouse = warehouseMapper.selectList(queryWrapper);
return allWarehouse;
}
......@@ -534,6 +518,13 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
}
@Override
public boolean changeWarehouseState(WarehouseReq req) {
Warehouse warehouse = this.queryWarehouse(req);
BeanPlusUtil.copyProperties(req, warehouse);
return this.updateById(warehouse);
}
@Override
public ResponseResult setWarehouseInventory(Map<String, Object> msg) {
String id;
if (msg.containsKey("locationId") && msg.get("locationId")!=""){
......@@ -555,8 +546,21 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
private Warehouse queryWarehouse(WarehouseReq req) {
Warehouse app = this.getById(req.getId());
if (ObjectUtil.isNull(app)) {
throw new ServiceException(null);
throw new ServiceException(WarehouseExceptionEnum.WAREHOUSE_NOT_EXIST);
}
return app;
}
private LambdaQueryWrapper<Product> createWrapper(ProductReq req) {
LambdaQueryWrapper<Product> wrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isEmpty(req)) {
return wrapper;
}
//根据业务编码查询
wrapper.like(ObjectUtil.isNotEmpty(req.getProductCode()), Product::getProductCode, req.getProductCode());
//根据企业名称模糊查询
wrapper.like(ObjectUtil.isNotEmpty(req.getName()), Product::getName, req.getName());
wrapper.orderByDesc(Product::getCreateTime);
return wrapper;
}
}
package com.junmp.jyzb.utils;
import org.omg.CORBA.OBJ_ADAPTER;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
......
......@@ -2,6 +2,8 @@ package com.junmp.jyzb.utils;
import com.fasterxml.jackson.annotation.JsonInclude;
import java.time.Instant;
/**
* 定义统一的返回类
* */
......@@ -17,21 +19,28 @@ public class ResponseResult<T> {
/**
* 提示信息,如果有错误时,前端可以获取该字段进行提示
*/
private String msg;
private String message;
/**
* 查询到的结果数据,
*/
private T data;
public ResponseResult(Integer code, String msg) {
/**
* 时间戳
*/
private long timestamp;
public ResponseResult(Integer code, String message) {
this.code = code;
this.msg = msg;
this.message = message;
this.timestamp = generateTimestamp();
}
public ResponseResult(Integer code, T data) {
this.code = code;
this.data = data;
this.timestamp = generateTimestamp();
}
public Integer getCode() {
......@@ -42,12 +51,12 @@ public class ResponseResult<T> {
this.code = code;
}
public String getMsg() {
return msg;
public String getMessage() {
return message;
}
public void setMsg(String msg) {
this.msg = msg;
this.message = msg;
}
public T getData() {
......@@ -60,7 +69,13 @@ public class ResponseResult<T> {
public ResponseResult(Integer code, String msg, T data) {
this.code = code;
this.msg = msg;
this.message = msg;
this.data = data;
this.timestamp = generateTimestamp();
}
//生成时间戳函数
private long generateTimestamp() {
return Instant.now().toEpochMilli();
}
}
......@@ -90,7 +90,7 @@
LEFT JOIN pub_org o on w.org_id_int=o.org_id
</select>
<select id="getAllWarehouseByOrgList" parameterType="java.util.List" resultType="java.util.Map">
<select id="getAllWarehouseByOrgList" resultType="com.junmp.jyzb.entity.Warehouse">
select
w.id as warehouseId,
o.org_id as orgId,
......
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/../target/classes" />
<output-test url="file://$MODULE_DIR$/../target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
......@@ -13,7 +13,7 @@
<module>jyzb-api</module>
<module>jyzb-boot</module>
<module>jyzb-biz</module>
<!-- <module>jyzb-process</module>-->
<module>jyzb-process</module>
<module>jyzb-common</module>
<module>jyzb-mq</module>
</modules>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论