Browse Source

问题处理

yzc 1 năm trước cách đây
mục cha
commit
0810f6ca22

+ 5 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/excess/dto/ExcessGoodsDetailsSelectDto.java

@@ -17,4 +17,9 @@ public class ExcessGoodsDetailsSelectDto extends BaseSelectDto {
      * 待入库id
      */
     private Long stockWaitId;
+
+    /**
+     * 处理结果 10退货、20入库、30申购
+     */
+    private Integer processingMethod;
 }

+ 11 - 1
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/excess/po/ExcessGoodsDetails.java

@@ -43,6 +43,16 @@ public class ExcessGoodsDetails extends BasePo {
     /**
      * 处理方式
      */
-    private String processingMethod;
+    private Integer processingMethod;
+
+    /**
+     * 是否提交
+     */
+    private Integer isSubmit;
+
+    /**
+     * 入库物流id
+     */
+    private Long logisticsInfosId;
 
 }

+ 5 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/excess/vo/ExcessGoodsDetailsVo.java

@@ -25,4 +25,9 @@ public class ExcessGoodsDetailsVo extends ExcessGoodsDetails {
     private String productSpec;
     private String productUnit;
 
+    private String businessCode;
+
+    private String logisticsCompanyCode;
+    private String logisticsCode;
+
 }

+ 45 - 3
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/excess/impl/ExcessGoodsDetailsServiceImpl.java

@@ -4,15 +4,21 @@ 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.victoriatourist.entity.excess.dto.ExcessGoodsDetailsDto;
 import com.fjhx.victoriatourist.entity.excess.dto.ExcessGoodsDetailsSelectDto;
 import com.fjhx.victoriatourist.entity.excess.po.ExcessGoodsDetails;
 import com.fjhx.victoriatourist.entity.excess.po.ExcessGoodsRegister;
 import com.fjhx.victoriatourist.entity.excess.vo.ExcessGoodsDetailsVo;
+import com.fjhx.victoriatourist.entity.logistics.po.LogisticsInfos;
 import com.fjhx.victoriatourist.mapper.excess.ExcessGoodsDetailsMapper;
 import com.fjhx.victoriatourist.service.excess.ExcessGoodsDetailsService;
 import com.fjhx.victoriatourist.service.excess.ExcessGoodsRegisterService;
+import com.fjhx.victoriatourist.service.logistics.LogisticsInfosService;
+import com.fjhx.wms.entity.stock.po.StockWait;
+import com.fjhx.wms.service.stock.StockWaitService;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -35,9 +41,12 @@ public class ExcessGoodsDetailsServiceImpl extends ServiceImpl<ExcessGoodsDetail
 
     @Autowired
     private ExcessGoodsRegisterService excessGoodsRegisterService;
-
     @Autowired
     private ProductInfoService productInfoService;
+    @Autowired
+    private StockWaitService stockWaitService;
+    @Autowired
+    private LogisticsInfosService logisticsInfosService;
 
     private IWrapper<ExcessGoodsDetails> getWrapper(ExcessGoodsDetailsSelectDto dto) {
         IWrapper<ExcessGoodsDetails> wrapper = getWrapper();
@@ -49,6 +58,9 @@ public class ExcessGoodsDetailsServiceImpl extends ServiceImpl<ExcessGoodsDetail
     @Override
     public List<ExcessGoodsDetailsVo> getList(ExcessGoodsDetailsSelectDto dto) {
         IWrapper<ExcessGoodsDetails> wrapper = getWrapper(dto);
+        //过滤未提交的数据
+        wrapper.eq("egd", ExcessGoodsDetails::getIsSubmit, 0);
+
         List<ExcessGoodsDetailsVo> list = this.baseMapper.getList(wrapper);
         setInfo(list);
         return list;
@@ -57,11 +69,33 @@ public class ExcessGoodsDetailsServiceImpl extends ServiceImpl<ExcessGoodsDetail
     @Override
     public Page<ExcessGoodsDetailsVo> getPage(ExcessGoodsDetailsSelectDto dto) {
         IWrapper<ExcessGoodsDetails> wrapper = getWrapper(dto);
+
+        //过滤已提交的数据
+        wrapper.eq("egd", ExcessGoodsDetails::getIsSubmit, 1);
+
+        //处理结果过滤
+        wrapper.eq("egd", ExcessGoodsDetails::getProcessingMethod, dto.getProcessingMethod());
+
+        //关键字检索
+        String keyword = dto.getKeyword();
+        if (ObjectUtil.isNotEmpty(keyword)) {
+            List<Long> productIds = productInfoService.listObject(ProductInfo::getId,
+                    q -> q.like(ProductInfo::getCustomCode, keyword).or().like(ProductInfo::getName, keyword));
+            wrapper.and(q -> q
+                    .like("sw.business_code", keyword)
+                    .or().like("lis.logistics_company_code", keyword)
+                    .or().like("lis.`code`", keyword)
+                    .or().like("egd", ExcessGoodsDetails::getQuantity, keyword)
+                    .or().in("egd", ExcessGoodsDetails::getProductId, productIds)
+            );
+        }
+
         Page<ExcessGoodsDetailsVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<ExcessGoodsDetailsVo> records = page.getRecords();
         if (ObjectUtil.isEmpty(records)) {
             return page;
         }
+        setInfo(records);
         return page;
     }
 
@@ -97,8 +131,16 @@ public class ExcessGoodsDetailsServiceImpl extends ServiceImpl<ExcessGoodsDetail
     }
 
     @Override
-    public void add(ExcessGoodsDetailsDto excessGoodsDetailsDto) {
-        this.save(excessGoodsDetailsDto);
+    public void add(ExcessGoodsDetailsDto dto) {
+        Long stockWaitId = dto.getStockWaitId();
+        Assert.notEmpty(stockWaitId, "待入库id不能为空");
+        StockWait stockWait = stockWaitService.getById(stockWaitId);
+        Assert.notEmpty(stockWait, "查询不到待入库信息");
+        LogisticsInfos one = logisticsInfosService.getOne(q -> q.eq(LogisticsInfos::getBusinessId, stockWait.getDeliverGoodsId()));
+        if (ObjectUtil.isNotEmpty(one)) {
+            dto.setLogisticsInfosId(one.getId());
+        }
+        this.save(dto);
     }
 
     @Override

+ 5 - 1
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/excess/impl/ExcessGoodsInfoServiceImpl.java

@@ -84,7 +84,10 @@ public class ExcessGoodsInfoServiceImpl extends ServiceImpl<ExcessGoodsInfoMappe
         this.save(dto);
 
         //保存详情信息
-        List<ExcessGoodsDetails> list = excessGoodsDetailsService.list(q -> q.eq(ExcessGoodsDetails::getStockWaitId, stockWaitId));
+        List<ExcessGoodsDetails> list = excessGoodsDetailsService.list(q -> q
+                .eq(ExcessGoodsDetails::getStockWaitId, stockWaitId)
+                .eq(ExcessGoodsDetails::getIsSubmit, 0)
+        );
         for (ExcessGoodsDetails excessGoodsDetails : list) {
             List<ExcessGoodsRegister> list1 = excessGoodsRegisterService.list(q -> q.eq(ExcessGoodsRegister::getExcessGoodsDetailsId, excessGoodsDetails.getId()));
             BigDecimal sumQuantity = list1.stream()
@@ -92,6 +95,7 @@ public class ExcessGoodsInfoServiceImpl extends ServiceImpl<ExcessGoodsInfoMappe
                     .reduce(BigDecimal.ZERO, BigDecimal::add);
             excessGoodsDetails.setQuantity(sumQuantity);
             excessGoodsDetails.setExcessGoodsInfoId(dto.getId());
+            excessGoodsDetails.setIsSubmit(1);//已提交
         }
         excessGoodsDetailsService.saveOrUpdateBatch(list);
 

+ 11 - 23
hx-victoriatourist/src/main/resources/mapper/excess/ExcessGoodsDetailsMapper.xml

@@ -1,35 +1,23 @@
 <?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.victoriatourist.mapper.excess.ExcessGoodsDetailsMapper">
+
     <select id="getList" resultType="com.fjhx.victoriatourist.entity.excess.vo.ExcessGoodsDetailsVo">
-        select
-            egd.id,
-            egd.excess_goods_register_id,
-            egd.stock_wait_id,
-            egd.product_id,
-            egd.quantity,
-            egd.processing_method,
-            egd.create_user,
-            egd.create_time,
-            egd.update_user,
-            egd.update_time
+        select egd.*
         from excess_goods_details egd
             ${ew.customSqlSegment}
     </select>
 
     <select id="getPage" resultType="com.fjhx.victoriatourist.entity.excess.vo.ExcessGoodsDetailsVo">
-        select
-            egd.id,
-            egd.excess_goods_register_id,
-            egd.stock_wait_id,
-            egd.product_id,
-            egd.quantity,
-            egd.processing_method,
-            egd.create_user,
-            egd.create_time,
-            egd.update_user,
-            egd.update_time
-        from excess_goods_details egd
+        SELECT
+            egd.*,
+            sw.business_code,
+            lis.logistics_company_code,
+            lis.`code` AS logisticsCode
+        FROM
+            excess_goods_details egd
+                LEFT JOIN bytesailing_wms.stock_wait sw ON egd.stock_wait_id = sw.id
+                LEFT JOIN logistics_infos lis ON egd.logistics_infos_id = lis.id
             ${ew.customSqlSegment}
     </select>