huanglizhi hace 1 año
padre
commit
32012acc1a

+ 10 - 0
framework/src/main/java/com/hys/app/framework/database/BaseQueryParam.java

@@ -32,6 +32,16 @@ public class BaseQueryParam {
     @NotNull(message = "页大小不能为空")
     private Long pageSize = 10L;
 
+    public String getKeyWord() {
+        return keyWord;
+    }
+
+    public void setKeyWord(String keyWord) {
+        this.keyWord = keyWord;
+    }
+
+    private String keyWord;
+
     public Long getPageNo() {
         return pageNo;
     }

+ 4 - 8
module-erp/src/main/java/com/hys/app/controller/erp/use/WarehouseOutManagerController.java

@@ -95,26 +95,22 @@ public class WarehouseOutManagerController {
         for (String s : split) {
             list.add(Long.valueOf(s));
         }
-        return warehouseOutManager.getGoodByWarehouse(null, queryParam, orderType, list);
+        return warehouseOutManager.getGoodByWarehouse(null, queryParam, orderType, list,queryParam.getKeyWord());
     }
-
     @ApiOperation(value = "根据仓库找到所有sku库存大于0的商品")
     @GetMapping("/getGoodByWarehouse/{warehouseId}")
     public IPage<ProductStockVO> getGoodByWarehouse(@PathVariable(value = "warehouseId") Long warehouseId, BaseQueryParam queryParam) {
-        return warehouseOutManager.getGoodByWarehouse(warehouseId, queryParam, null, null);
+        return warehouseOutManager.getGoodByWarehouse(warehouseId, queryParam, null, null,queryParam.getKeyWord());
     }
 
-
     @ApiOperation(value = "找到这个仓库所有的商品")
     @GetMapping("/getGoodByWarehouseInventory/{warehouseId}")
     public IPage<ProductStockVO> getGoodByWarehouseInventory(@PathVariable(value = "warehouseId") Long warehouseId, BaseQueryParam queryParam) {
-        return warehouseOutManager.getGoodByWarehouseInventory(warehouseId, queryParam);
+        return warehouseOutManager.getGoodByWarehouseInventory(warehouseId, queryParam,queryParam.getKeyWord());
     }
-
-
     @ApiOperation(value = "获取冻结库存")
     @GetMapping("/getLockedStock")
-    public IPage<LockedStockDetailDO> getLockedStock(BaseQueryParam queryParam) {
+    public IPage<LockedStockDetailDO> getLockedStock(LockedStockParams queryParam) {
         return warehouseOutManager.getLockedStock(queryParam);
     }
 }

+ 35 - 0
module-erp/src/main/java/com/hys/app/model/erp/dto/LockedStockParams.java

@@ -0,0 +1,35 @@
+package com.hys.app.model.erp.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.hys.app.framework.database.BaseQueryParam;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import org.elasticsearch.action.fieldstats.FieldStats;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * 出库单查询参数
+ *
+ * @author 张崧
+ * @since 2023-12-07 16:50:20
+ */
+@Data
+public class LockedStockParams extends BaseQueryParam {
+
+    
+
+    private Long startTime;
+
+    private Long endTime;
+
+
+    @ApiModelProperty(name = "status", value = "状态")
+    private Boolean status;
+
+}
+

+ 2 - 1
module-erp/src/main/java/com/hys/app/service/erp/ProductStockManager.java

@@ -2,6 +2,7 @@ package com.hys.app.service.erp;
 
 import com.hys.app.framework.database.WebPage;
 import com.hys.app.framework.database.mybatisplus.base.BaseService;
+import com.hys.app.model.erp.dos.GoodsDO;
 import com.hys.app.model.erp.dos.ProductDO;
 import com.hys.app.model.erp.dos.ProductStockDO;
 import com.hys.app.model.erp.dto.ProductStockQueryParams;
@@ -120,7 +121,7 @@ public interface ProductStockManager extends BaseService<ProductStockDO> {
      *
      * @param bean
      */
-    void intStock(List<ProductDO> bean);
+    void intStock(List<ProductDO> bean, GoodsDO goodsDO);
 
     /**
      * 更新冻结库存

+ 3 - 3
module-erp/src/main/java/com/hys/app/service/erp/WarehouseOutManager.java

@@ -116,7 +116,7 @@ public interface WarehouseOutManager extends BaseService<WarehouseOutDO> {
      *
      * @param warehouseId 仓库ID
      */
-    IPage<ProductStockVO> getGoodByWarehouse(Long warehouseId, BaseQueryParam queryParam, String orderType, List<Long> warehouseIds);
+    IPage<ProductStockVO> getGoodByWarehouse(Long warehouseId, BaseQueryParam queryParam, String orderType, List<Long> warehouseIds,String keyWord);
 
     /**
      * 盘点根据仓库找到这个仓库的所有的商品
@@ -125,7 +125,7 @@ public interface WarehouseOutManager extends BaseService<WarehouseOutDO> {
      * @param queryParam
      * @return
      */
-    IPage<ProductStockVO> getGoodByWarehouseInventory(Long warehouseId, BaseQueryParam queryParam);
+    IPage<ProductStockVO> getGoodByWarehouseInventory(Long warehouseId, BaseQueryParam queryParam,String keyWord);
 
     /**
      * 获取冻结库存
@@ -133,6 +133,6 @@ public interface WarehouseOutManager extends BaseService<WarehouseOutDO> {
      * @param queryParam
      * @return
      */
-    IPage<LockedStockDetailDO> getLockedStock(BaseQueryParam queryParam);
+    IPage<LockedStockDetailDO> getLockedStock(LockedStockParams queryParam);
 }
 

+ 11 - 11
module-erp/src/main/java/com/hys/app/service/erp/impl/GoodsManagerImpl.java

@@ -3,6 +3,7 @@ package com.hys.app.service.erp.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.hys.app.converter.erp.GoodsConverter;
@@ -73,6 +74,7 @@ public class GoodsManagerImpl extends BaseServiceImpl<GoodsMapper, GoodsDO> impl
         goodsDO.setImageSmallList(goodsGallery.getSmall());
         bean.forEach(item ->{
             item.setGoodsId(goodsDO.getId());
+            item.setName(goodsDTO.getName());
             item.setHireOrSail(goodsDO.getHireOrSail());
         });
         productManager.saveBatch(bean);
@@ -81,10 +83,7 @@ public class GoodsManagerImpl extends BaseServiceImpl<GoodsMapper, GoodsDO> impl
         }
         productManager.updateBatchById(bean);
         //初始化库存
-        productStockManager.intStock(bean);
-        // 发送商品消息
-//        GoodsChangeMessage message = new GoodsChangeMessage(GoodsChangeMessage.GoodsChangeType.Add, goodsId);
-//        this.messageSender.send(new MqMessage(AmqpExchange.ERP_GOODS_CHANGE, AmqpExchange.ERP_GOODS_CHANGE + "_ROUTING", message));
+        productStockManager.intStock(bean,goodsDO);
     }
 
 
@@ -108,6 +107,7 @@ public class GoodsManagerImpl extends BaseServiceImpl<GoodsMapper, GoodsDO> impl
         updateById(goodsDO);
         bean.forEach(item ->{
             item.setGoodsId(goodsDO.getId());
+            item.setName(goodsDTO.getName());
             item.setHireOrSail(goodsDO.getHireOrSail());
         });
         productManager.saveBatch(bean);
@@ -115,12 +115,6 @@ public class GoodsManagerImpl extends BaseServiceImpl<GoodsMapper, GoodsDO> impl
             bean.get(i-1).setSort(bean.get(i-1).getId()+100000000*i);
         }
         productManager.updateBatchById(bean);
-
-
-
-        // 发送商品消息
-//        GoodsChangeMessage message = new GoodsChangeMessage(GoodsChangeMessage.GoodsChangeType.Edit, goodsDTO.getId());
-//        this.messageSender.send(new MqMessage(AmqpExchange.ERP_GOODS_CHANGE, AmqpExchange.ERP_GOODS_CHANGE + "_ROUTING", message));
     }
 
 
@@ -223,7 +217,13 @@ public class GoodsManagerImpl extends BaseServiceImpl<GoodsMapper, GoodsDO> impl
         Page<ProductStockDO> page = new Page<>(queryParam.getPageNo(), queryParam.getPageSize());
         Page<ProductStockDO> page1 = productStockManager.page(page, new LambdaQueryWrapper<ProductStockDO>()
                 .eq(ObjectUtil.isNotNull(wareHouseId), ProductStockDO::getWarehouseId, wareHouseId)
-                .in(CollUtil.isNotEmpty(collect),ProductStockDO::getGoodsId, collect));
+                .in(CollUtil.isNotEmpty(collect),ProductStockDO::getGoodsId, collect)
+                .and(StrUtil.isNotBlank(queryParam.getKeyWord()), wa -> wa
+                        .like(ProductStockDO::getGoodsName, queryParam.getKeyWord())
+                        .or()
+                        .like(ProductStockDO::getGoodsBarCode, queryParam.getKeyWord())
+                        .or()
+                        .like(ProductStockDO::getGoodsSnCode, queryParam.getKeyWord())));
         Page<ProductStockVO> convert = productStockConverter.convert(page1);
         for (ProductStockVO record : convert.getRecords()) {
             record.setGoodsVO(BeanUtil.copyProperties(getById(record.getGoodsId()),GoodsVO.class));

+ 4 - 1
module-erp/src/main/java/com/hys/app/service/erp/impl/OrderManagerImpl.java

@@ -270,7 +270,10 @@ public class OrderManagerImpl extends BaseServiceImpl<OrderMapper, OrderDO> impl
                 break;
         }
         Page<OrderSendDO> paged = orderSendManager.page(page, wrapper);
-        paged.getRecords().forEach(item -> item.setOrderVo(getById(item.getOrderId())));
+        paged.getRecords().forEach(item -> {
+            OrderDO aDo = getById(item.getOrderId());
+            item.setOrderVo(aDo);
+        });
         return paged;
     }
 

+ 5 - 1
module-erp/src/main/java/com/hys/app/service/erp/impl/ProductStockManagerImpl.java

@@ -13,6 +13,7 @@ import com.hys.app.framework.database.mybatisplus.base.BaseServiceImpl;
 import com.hys.app.framework.util.PageConvert;
 import com.hys.app.mapper.erp.ProductStockMapper;
 import com.hys.app.mapper.goods.ProductMapper;
+import com.hys.app.model.erp.dos.GoodsDO;
 import com.hys.app.model.erp.dos.ProductDO;
 import com.hys.app.model.erp.dos.ProductStockDO;
 import com.hys.app.model.erp.dos.WarehouseDO;
@@ -224,7 +225,7 @@ public class ProductStockManagerImpl extends BaseServiceImpl<ProductStockMapper,
     }
 
     @Override
-    public void intStock(List<ProductDO> bean) {
+    public void intStock(List<ProductDO> bean, GoodsDO goodsDO) {
         List<ProductStockDO> arrayList = new ArrayList<>();
         List<WarehouseDO> list = warehouseManager.list();
         if (CollUtil.isEmpty(list)) {
@@ -235,6 +236,9 @@ public class ProductStockManagerImpl extends BaseServiceImpl<ProductStockMapper,
                 ProductStockDO aDo1 = new ProductStockDO();
                 aDo1.setWarehouseId(warehouseDO.getId());
                 aDo1.setGoodsId(aDo.getGoodsId());
+                aDo1.setGoodsName(goodsDO.getName());
+                aDo1.setGoodsBarCode(aDo.getSku());
+                aDo1.setGoodsSnCode(goodsDO.getSn());
                 aDo1.setProductId(aDo.getId());
                 arrayList.add(aDo1);
             }

+ 1 - 0
module-erp/src/main/java/com/hys/app/service/erp/impl/StockDamageReportManagerImpl.java

@@ -214,6 +214,7 @@ public class StockDamageReportManagerImpl extends ServiceImpl<StockDamageReportM
         if (DamageinventoryEnum.HAS_HANDLE.equals(report.getStatus())) {
             throw new ServiceException("该报损单已处理");
         }
+        report.setStatus(DamageinventoryEnum.HAS_HANDLE);
         updateById(report);
         for (StockDamageReportProductDTO aDo : stockDamageReportDTO.getProductList()) {
             ProductDO manager = productManager.getById(aDo.getProductId());

+ 10 - 3
module-erp/src/main/java/com/hys/app/service/erp/impl/WarehouseAreaManagerImpl.java

@@ -2,6 +2,7 @@ package com.hys.app.service.erp.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -86,9 +87,15 @@ public class WarehouseAreaManagerImpl extends BaseServiceImpl<WarehouseAreaMappe
     }
 
     @Override
-    public Page<ProductStockVO> goodNotAreaList(BaseQueryParam baseQueryParam, Long warehouseId) {
-        Page<ProductStockDO> page = productStockManager.page(new Page<>( baseQueryParam.getPageNo(),baseQueryParam.getPageSize()),
-                new LambdaQueryWrapper<ProductStockDO>().eq(ProductStockDO::getWarehouseId, warehouseId));
+    public Page<ProductStockVO> goodNotAreaList(BaseQueryParam queryParam, Long warehouseId) {
+        Page<ProductStockDO> page = productStockManager.page(new Page<>( queryParam.getPageNo(),queryParam.getPageSize()),
+                new LambdaQueryWrapper<ProductStockDO>().eq(ProductStockDO::getWarehouseId, warehouseId)
+                        .and(StrUtil.isNotBlank(queryParam.getKeyWord()), wa -> wa
+                                .like(ProductStockDO::getGoodsName, queryParam.getKeyWord())
+                                .or()
+                                .like(ProductStockDO::getGoodsBarCode, queryParam.getKeyWord())
+                                .or()
+                                .like(ProductStockDO::getGoodsSnCode, queryParam.getKeyWord())));
         Page<ProductStockVO> convert = productConverter.convert(page);
         for (ProductStockVO record : convert.getRecords()) {
             record.setGoodsVO(BeanUtil.copyProperties(goodsManager.getById(record.getGoodsId()), GoodsVO.class));

+ 25 - 7
module-erp/src/main/java/com/hys/app/service/erp/impl/WarehouseOutManagerImpl.java

@@ -175,7 +175,7 @@ public class WarehouseOutManagerImpl extends BaseServiceImpl<WarehouseOutMapper,
                     throw new ServiceException("未找到冻结记录");
                 }
                 one.setUnLockedTime(new Date());
-                if (one.getLockedNum() == (aDo.getOutNum()+one.getUnLockedNum())){
+                if (one.getLockedNum() == (aDo.getOutNum() + one.getUnLockedNum())) {
                     one.setStatus(true);
                 }
                 one.setUnLockedNum(one.getUnLockedNum() + aDo.getOutNum());
@@ -417,7 +417,7 @@ public class WarehouseOutManagerImpl extends BaseServiceImpl<WarehouseOutMapper,
 
 
     @Override
-    public Page<ProductStockVO> getGoodByWarehouse(Long warehouseId, BaseQueryParam queryParam, String orderType, List<Long> warehouseIds) {
+    public Page<ProductStockVO> getGoodByWarehouse(Long warehouseId, BaseQueryParam queryParam, String orderType, List<Long> warehouseIds, String keyWord) {
         //找出所有上架的商品
         LambdaQueryWrapper<GoodsDO> wrapper = new LambdaQueryWrapper<GoodsDO>().eq(GoodsDO::getMarketEnable, true);
 
@@ -443,6 +443,12 @@ public class WarehouseOutManagerImpl extends BaseServiceImpl<WarehouseOutMapper,
                 .eq(ObjectUtil.isNotNull(warehouseId), ProductStockDO::getWarehouseId, warehouseId)
                 .in(CollUtil.isNotEmpty(warehouseIds), ProductStockDO::getWarehouseId, warehouseIds)
                 .in(ProductStockDO::getGoodsId, goodsId)
+                .and(StrUtil.isNotBlank(keyWord), wa -> wa
+                        .like(ProductStockDO::getGoodsName, keyWord)
+                        .or()
+                        .like(ProductStockDO::getGoodsBarCode, keyWord)
+                        .or()
+                        .like(ProductStockDO::getGoodsSnCode, keyWord))
                 .gt(ProductStockDO::getUsableStock, 0));
         Page<ProductStockVO> convert = productStockConverter.convert(page1);
         for (ProductStockVO record : convert.getRecords()) {
@@ -457,13 +463,19 @@ public class WarehouseOutManagerImpl extends BaseServiceImpl<WarehouseOutMapper,
     }
 
     @Override
-    public IPage<ProductStockVO> getGoodByWarehouseInventory(Long warehouseId, BaseQueryParam queryParam) {
+    public IPage<ProductStockVO> getGoodByWarehouseInventory(Long warehouseId, BaseQueryParam queryParam, String keyWord) {
         //找出所有上架的商品
         List<GoodsDO> list = goodsMapper.selectList(new LambdaQueryWrapper<GoodsDO>().eq(GoodsDO::getMarketEnable, true));
         List<Long> goodsId = list.stream().map(GoodsDO::getId).collect(Collectors.toList());
         //找到所有的商品
         Page<ProductStockDO> page = productStockManager.page(new Page<>(queryParam.getPageNo(), queryParam.getPageSize()), new LambdaQueryWrapper<ProductStockDO>()
-                .eq(ProductStockDO::getWarehouseId, warehouseId).in(ProductStockDO::getGoodsId, goodsId));
+                .eq(ProductStockDO::getWarehouseId, warehouseId).in(ProductStockDO::getGoodsId, goodsId)
+                .and(StrUtil.isNotBlank(keyWord), wa -> wa
+                        .like(ProductStockDO::getGoodsName, keyWord)
+                        .or()
+                        .like(ProductStockDO::getGoodsBarCode, keyWord)
+                        .or()
+                        .like(ProductStockDO::getGoodsSnCode, keyWord)));
         Page<ProductStockVO> convert = productStockConverter.convert(page);
         for (ProductStockVO record : convert.getRecords()) {
             record.setGoodsVO(BeanUtil.copyProperties(goodsMapper.selectById(record.getGoodsId()), GoodsVO.class));
@@ -474,9 +486,15 @@ public class WarehouseOutManagerImpl extends BaseServiceImpl<WarehouseOutMapper,
     }
 
     @Override
-    public IPage<LockedStockDetailDO>
-    getLockedStock(BaseQueryParam queryParam) {
-        Page<LockedStockDetailDO> page = lockedStockDetailManager.page(new Page<>(queryParam.getPageNo(), queryParam.getPageSize()));
+    public IPage<LockedStockDetailDO> getLockedStock(LockedStockParams queryParam) {
+        LambdaQueryWrapper<LockedStockDetailDO> wrapper = new LambdaQueryWrapper<LockedStockDetailDO>().eq(ObjectUtil.isNotNull(queryParam.getStatus()), LockedStockDetailDO::getStatus, queryParam.getStatus());
+        if (ObjectUtil.isNotNull(queryParam.getStartTime()) && ObjectUtil.isNotNull(queryParam.getEndTime())) {
+            wrapper.between(LockedStockDetailDO::getLockedTime, new Date(queryParam.getStartTime()), new Date(queryParam.getEndTime()));
+        }
+        Page<LockedStockDetailDO> page = lockedStockDetailManager.page(new Page<>(queryParam.getPageNo(), queryParam.getPageSize()), wrapper);
+        if (queryParam.getStartTime() != null) {
+            System.out.println(new Date(queryParam.getStartTime()));
+        }
         for (LockedStockDetailDO record : page.getRecords()) {
             ProductStockDO byId = productStockManager.getById(record.getProductStockId());
             record.setGoodsVO(goodsMapper.selectById(byId.getGoodsId()));

+ 3 - 2
module-erp/src/main/java/com/hys/app/service/system/impl/AdminUserManagerImpl.java

@@ -217,8 +217,9 @@ public class AdminUserManagerImpl implements AdminUserManager {
             throw new ServiceException(SystemErrorCode.E916.code(), "必须保留一个超级管理员");
         }
         // 设置管理员状态为删除
-        adminUser.setUserState(-1);
-        adminUserMapper.updateById(adminUser);
+//        adminUser.setUserState(-1);
+//        adminUserMapper.updateById(adminUser);
+        adminUserMapper.deleteById(id);
 
         //发送redis订阅消息,通知各个节点此用户已经禁用
         UserDisableMsg userDisableMsg = new UserDisableMsg(id, Role.ADMIN, UserDisableMsg.ADD);

+ 1 - 1
server/src/main/resources/application.yml

@@ -4,7 +4,7 @@ spring:
   application:
     name: erp-server
   profiles:
-    active: local
+    active: test
   jackson:
     property-naming-strategy: SNAKE_CASE
   servlet:

+ 1 - 1
sql/clearTable.sql

@@ -8,7 +8,7 @@ truncate erp_locked_stock_detail;           -- 冻结库存明细
 truncate erp_item_sn_code;                  -- 序列号绑定关系
 truncate erp_warehouse;                     -- 仓库
 truncate erp_warehouse_area;                -- 库位
--- truncate erp_warehouse_area_type;           -- 库位类型
+truncate erp_warehouse_area_type;           -- 库位类型
 
 
 truncate erp_order;                         -- 订单