Răsfoiți Sursa

出入库流水添加数量修改 分页添加物流单号

yzc 1 an în urmă
părinte
comite
09161150a0

+ 3 - 3
code/src/test/java/WmsDataSource.java

@@ -4,9 +4,9 @@ public class WmsDataSource {
 
     public static void main(String[] args) {
         GeneratorApplication.builder()
-                .url("jdbc:mysql://36.134.91.96:17330/bytesailing_wms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true")
-                .username("fjhx2012mysql")
-                .password("3PN-Mzn#vnP&q6d")
+                .url("jdbc:mysql://121.37.194.75:30102/bytesailing_wms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true")
+                .username("root")
+                .password("5fWD*oa^nso@kmKa")
                 .port(9989)
                 .module("hx-wms")
                 .parent("com.fjhx.wms")

+ 14 - 5
hx-wms/src/main/java/com/fjhx/wms/controller/stock/StockJournalDetailsController.java

@@ -1,17 +1,18 @@
 package com.fjhx.wms.controller.stock;
 
 import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.wms.entity.stock.dto.StockJournalDetailsDto;
-import com.fjhx.wms.entity.stock.dto.StockJournalDetailsSelectDto;
 import com.fjhx.wms.entity.stock.dto.StockJournalSelectDto;
-import com.fjhx.wms.entity.stock.vo.StockJournalVo;
-import org.springframework.web.bind.annotation.*;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.wms.entity.stock.vo.StockJournalDetailsVo;
-import com.ruoyi.common.core.domain.BaseSelectDto;
 import com.fjhx.wms.service.stock.StockJournalDetailsService;
+import com.ruoyi.common.core.domain.BaseSelectDto;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 
 /**
@@ -78,4 +79,12 @@ public class StockJournalDetailsController {
         stockJournalDetailsService.delete(dto.getId());
     }
 
+    /**
+     * 出入库记录明细删除
+     */
+    @PostMapping("/editQuantity")
+    public void editQuantity(@RequestBody StockJournalDetailsDto dto) {
+        stockJournalDetailsService.editQuantity(dto);
+    }
+
 }

+ 20 - 0
hx-wms/src/main/java/com/fjhx/wms/controller/stock/StockJournalDetailsEditRecordController.java

@@ -0,0 +1,20 @@
+package com.fjhx.wms.controller.stock;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * <p>
+ * 维多利亚修改流水操作记录 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-11-13
+ */
+@RestController
+@RequestMapping("/stockJournalDetailsEditRecord")
+public class StockJournalDetailsEditRecordController {
+
+
+}

+ 17 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/dto/StockJournalDetailsEditRecordDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.wms.entity.stock.dto;
+
+import com.fjhx.wms.entity.stock.po.StockJournalDetailsEditRecord;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 维多利亚修改流水操作记录新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-11-13
+ */
+@Getter
+@Setter
+public class StockJournalDetailsEditRecordDto extends StockJournalDetailsEditRecord {
+
+}

+ 17 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/dto/StockJournalDetailsEditRecordSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.wms.entity.stock.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 维多利亚修改流水操作记录列表查询入参实体
+ *
+ * @author 
+ * @since 2023-11-13
+ */
+@Getter
+@Setter
+public class StockJournalDetailsEditRecordSelectDto extends BaseSelectDto {
+
+}

+ 38 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/po/StockJournalDetailsEditRecord.java

@@ -0,0 +1,38 @@
+package com.fjhx.wms.entity.stock.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 维多利亚修改流水操作记录
+ * </p>
+ *
+ * @author 
+ * @since 2023-11-13
+ */
+@Getter
+@Setter
+@TableName("stock_journal_details_edit_record")
+public class StockJournalDetailsEditRecord extends BasePo {
+
+    /**
+     * 流水明细id
+     */
+    private Long stockJournalDetailsId;
+
+    /**
+     * 原数量
+     */
+    private BigDecimal originalQuantity;
+
+    /**
+     * 修改后数量
+     */
+    private BigDecimal changeQuantity;
+
+}

+ 17 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/vo/StockJournalDetailsEditRecordVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.wms.entity.stock.vo;
+
+import com.fjhx.wms.entity.stock.po.StockJournalDetailsEditRecord;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 维多利亚修改流水操作记录列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-11-13
+ */
+@Getter
+@Setter
+public class StockJournalDetailsEditRecordVo extends StockJournalDetailsEditRecord {
+
+}

+ 5 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/vo/StockJournalDetailsVo.java

@@ -95,4 +95,9 @@ public class StockJournalDetailsVo extends StockJournalDetails {
      * 入库状态 1部分入库 2入库完成
      */
     private Integer receiptStatus;
+
+    /**
+     * 物流公司名称
+     */
+    private String logisticsCompanyName;
 }

+ 17 - 0
hx-wms/src/main/java/com/fjhx/wms/mapper/stock/StockJournalDetailsEditRecordMapper.java

@@ -0,0 +1,17 @@
+package com.fjhx.wms.mapper.stock;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fjhx.wms.entity.stock.po.StockJournalDetailsEditRecord;
+
+
+/**
+ * <p>
+ * 维多利亚修改流水操作记录 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-11-13
+ */
+public interface StockJournalDetailsEditRecordMapper extends BaseMapper<StockJournalDetailsEditRecord> {
+
+}

+ 17 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/StockJournalDetailsEditRecordService.java

@@ -0,0 +1,17 @@
+package com.fjhx.wms.service.stock;
+
+import com.fjhx.wms.entity.stock.po.StockJournalDetailsEditRecord;
+import com.ruoyi.common.core.service.BaseService;
+
+
+/**
+ * <p>
+ * 维多利亚修改流水操作记录 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-11-13
+ */
+public interface StockJournalDetailsEditRecordService extends BaseService<StockJournalDetailsEditRecord> {
+
+}

+ 6 - 4
hx-wms/src/main/java/com/fjhx/wms/service/stock/StockJournalDetailsService.java

@@ -1,13 +1,11 @@
 package com.fjhx.wms.service.stock;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.wms.entity.stock.dto.StockJournalDetailsDto;
 import com.fjhx.wms.entity.stock.dto.StockJournalSelectDto;
 import com.fjhx.wms.entity.stock.po.StockJournalDetails;
-import com.fjhx.wms.entity.stock.dto.StockJournalDetailsDto;
-import com.fjhx.wms.entity.stock.dto.StockJournalDetailsSelectDto;
 import com.fjhx.wms.entity.stock.vo.StockJournalDetailsVo;
-import com.fjhx.wms.entity.stock.vo.StockJournalVo;
 import com.ruoyi.common.core.service.BaseService;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
 
 /**
@@ -50,4 +48,8 @@ public interface StockJournalDetailsService extends BaseService<StockJournalDeta
      */
     void delete(Long id);
 
+    /**
+     * 修改数量
+     */
+    void editQuantity(StockJournalDetails dto);
 }

+ 21 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockJournalDetailsEditRecordServiceImpl.java

@@ -0,0 +1,21 @@
+package com.fjhx.wms.service.stock.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.wms.entity.stock.po.StockJournalDetailsEditRecord;
+import com.fjhx.wms.mapper.stock.StockJournalDetailsEditRecordMapper;
+import com.fjhx.wms.service.stock.StockJournalDetailsEditRecordService;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * <p>
+ * 维多利亚修改流水操作记录 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-11-13
+ */
+@Service
+public class StockJournalDetailsEditRecordServiceImpl extends ServiceImpl<StockJournalDetailsEditRecordMapper, StockJournalDetailsEditRecord> implements StockJournalDetailsEditRecordService {
+
+}

+ 43 - 5
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockJournalDetailsServiceImpl.java

@@ -4,23 +4,23 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.common.utils.Assert;
 import com.fjhx.item.entity.product.po.ProductInfo;
 import com.fjhx.item.service.product.ProductInfoService;
 import com.fjhx.wms.entity.stock.dto.StockJournalDetailsDto;
 import com.fjhx.wms.entity.stock.dto.StockJournalSelectDto;
-import com.fjhx.wms.entity.stock.po.StockJournal;
-import com.fjhx.wms.entity.stock.po.StockJournalDetails;
-import com.fjhx.wms.entity.stock.po.StockWait;
+import com.fjhx.wms.entity.stock.po.*;
 import com.fjhx.wms.entity.stock.vo.StockJournalDetailsVo;
 import com.fjhx.wms.entity.stock.vo.StockWaitVo;
 import com.fjhx.wms.mapper.stock.StockJournalDetailsMapper;
-import com.fjhx.wms.service.stock.StockJournalDetailsService;
-import com.fjhx.wms.service.stock.StockWaitService;
+import com.fjhx.wms.service.stock.*;
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.utils.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
@@ -41,6 +41,12 @@ public class StockJournalDetailsServiceImpl extends ServiceImpl<StockJournalDeta
     private ProductInfoService productInfoService;
     @Autowired
     private StockWaitService stockWaitService;
+    @Autowired
+    private StockService stockService;
+    @Autowired
+    private StockJournalService stockJournalService;
+    @Autowired
+    private StockJournalDetailsEditRecordService stockJournalDetailsEditRecordService;
 
     @Override
     public Page<StockJournalDetailsVo> getPage(StockJournalSelectDto dto) {
@@ -138,4 +144,36 @@ public class StockJournalDetailsServiceImpl extends ServiceImpl<StockJournalDeta
         this.removeById(id);
     }
 
+    /**
+     * 流水数量修正
+     */
+    @Override
+    public synchronized void editQuantity(StockJournalDetails dto){
+        Assert.notEmpty(dto.getId(),"流水明细id不能为空");
+        StockJournalDetails stockJournalDetails = getById(dto.getId());
+
+        //保存操作记录
+        StockJournalDetailsEditRecord stockJournalDetailsEditRecord = new StockJournalDetailsEditRecord();
+        stockJournalDetailsEditRecord.setStockJournalDetailsId(dto.getId());
+        stockJournalDetailsEditRecord.setOriginalQuantity(stockJournalDetails.getQuantity());
+        stockJournalDetailsEditRecord.setChangeQuantity(dto.getQuantity());
+
+        stockJournalDetailsEditRecordService.save(stockJournalDetailsEditRecord);
+
+        //修改库存
+        StockJournal stockJournal = stockJournalService.getById(stockJournalDetails.getStockJournalId());
+        BigDecimal subtract = stockJournalDetails.getQuantity().subtract(dto.getQuantity());
+        boolean update = stockService.update(q -> q
+                .eq(Stock::getProductId, stockJournalDetails.getProductId())
+                .eq(Stock::getWarehouseId, stockJournal.getWarehouseId())
+                .setSql("quantity = quantity + " + subtract)
+        );
+        if (!update){
+            throw new ServiceException("操作失败请重试");
+        }
+
+        stockJournalDetails.setQuantity(dto.getQuantity());
+        this.updateById(stockJournalDetails);
+    }
+
 }

+ 4 - 0
hx-wms/src/main/resources/mapper/stock/StockJournalDetailsEditRecordMapper.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fjhx.wms.mapper.stock.StockJournalDetailsEditRecordMapper">
+</mapper>

+ 9 - 1
hx-wms/src/main/resources/mapper/stock/StockJournalDetailsMapper.xml

@@ -15,11 +15,19 @@
             sjd.create_time,
             sjd.create_user,
             sj.business_id,
-            sj.remarks
+            sj.remarks,
+            lis.`code` logisticsCode,
+            ci.`name` logisticsCompanyName
         FROM
             stock_journal sj
                 JOIN stock_journal_details sjd ON sjd.stock_journal_id = sj.id
                 JOIN warehouse w ON sj.warehouse_id = w.id
+                LEFT JOIN stock_wait sw ON sw.id = sj.business_id
+                LEFT JOIN bytesailing_victoriatourist.logistics_infos lis ON lis.business_id = sw.deliverGoodsId
+                AND lis.del_flag = 0 AND NOT sw.deliverGoodsId IS NULL
+                LEFT JOIN bytesailing_kd100.company_info ci ON lis.logistics_company_code = ci.`code`
+                AND ci.del_flag = 0
+                AND NOT lis.id IS NULL
             ${ew.customSqlSegment}
     </select>
     <select id="getStockWaitInfo" resultType="com.fjhx.wms.entity.stock.vo.StockWaitVo">