Răsfoiți Sursa

维多利亚问题处理

yzc 2 ani în urmă
părinte
comite
088fdf6de6

+ 7 - 49
hx-item/src/main/java/com/fjhx/item/service/product/impl/ProductInfoServiceImpl.java

@@ -96,11 +96,16 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
         wrapper.keyword(dto,
                 new SqlField("pi", ProductInfo::getName),
                 new SqlField("pi", ProductInfo::getCode),
-                new SqlField("pi", ProductInfo::getCustomCode)
+                new SqlField("pi", ProductInfo::getCustomCode),
+                new SqlField("pi", ProductInfo::getSpec),
+                //材质面料过滤
+                new SqlField("json_unquote(pi.victoriatourist_json -> '$.materialQuality')")
         );
         //计算并根据生命周期过滤
         wrapper.eq("IF(DATEDIFF(now(),pi.create_time)> json_unquote( victoriatourist_json -> '$.growUpDay' ),3,IF( DATEDIFF(now(),pi.create_time)> json_unquote( victoriatourist_json -> '$.newProductsDay' ), 2, 1 ))", dto.getLifeCycle());
+        //过滤组合产品
         wrapper.eq("json_unquote( victoriatourist_json -> '$.combination' )", dto.getCombination());
+
         Page<ProductInfoVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
 
         List<ProductInfoVo> records = page.getRecords();
@@ -137,55 +142,8 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
 
     @Override
     public Page<ProductInfoVo> getPageByWdly(ProductInfoSelectDto dto) {
-
-
-        IWrapper<ProductInfo> wrapper = getWrapper();
-        wrapper.orderByDesc("pi", ProductInfo::getId);
-        wrapper.eq("pi", ProductInfo::getType, dto.getType());
-        wrapper.eq("pi", ProductInfo::getDefinition, dto.getDefinition());
-
-        if (dto.getProductClassifyId() != null) {
-            List<Long> childId = productClassifyService.getChildIdList(dto.getProductClassifyId());
-            wrapper.in("pi", ProductInfo::getProductClassifyId, childId);
-        }
-
-        wrapper.keyword(dto,
-                new SqlField("pi", ProductInfo::getName),
-                new SqlField("pi", ProductInfo::getCustomCode)
-        );
-        // 计算并根据生命周期过滤
-        wrapper.eq("IF(DATEDIFF(now(),pi.create_time)> json_unquote( victoriatourist_json -> '$.growUpDay' ),3,IF( DATEDIFF(now(),pi.create_time)> json_unquote( victoriatourist_json -> '$.newProductsDay' ), 2, 1 ))", dto.getLifeCycle());
-        wrapper.eq("json_unquote( victoriatourist_json -> '$.combination' )", dto.getCombination());
-        Page<ProductInfoVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
-
+        Page<ProductInfoVo> page = getPage(dto);
         List<ProductInfoVo> records = page.getRecords();
-
-        if (records.size() == 0) {
-            return page;
-        }
-
-        List<ProductClassify> productClassifyList = productClassifyService.list();
-        Map<Long, ProductClassify> productClassifyMap = productClassifyList.stream().collect(Collectors.toMap(BaseIdPo::getId, Function.identity()));
-
-        for (ProductInfoVo record : records) {
-            Long productClassifyId = record.getProductClassifyId();
-            ProductClassify productClassify = productClassifyMap.get(productClassifyId);
-            if (productClassify == null) {
-                continue;
-            }
-
-            record.setClassifyName(productClassify.getName());
-
-            List<String> classifyNameGroup = new ArrayList<>();
-
-            while (productClassify != null) {
-                classifyNameGroup.add(0, productClassify.getName());
-                productClassify = productClassifyMap.get(productClassify.getParentId());
-            }
-            record.setClassifyNameGroup(classifyNameGroup);
-
-        }
-//--------------------------------------------------
         //赋值维多利亚扩展部门名称
         List<Long> ids = new ArrayList<>();
         for (ProductInfoVo record : records) {

+ 17 - 6
hx-purchase/src/main/java/com/fjhx/purchase/controller/arrival/ArrivalController.java

@@ -1,16 +1,19 @@
 package com.fjhx.purchase.controller.arrival;
 
 import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.common.constant.SourceConstant;
+import com.fjhx.purchase.entity.arrival.dto.ArrivalDto;
+import com.fjhx.purchase.entity.arrival.dto.ArrivalSelectDto;
 import com.fjhx.purchase.entity.arrival.po.Arrival;
-import org.springframework.web.bind.annotation.*;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.purchase.entity.arrival.vo.ArrivalVo;
-import com.fjhx.purchase.entity.arrival.dto.ArrivalSelectDto;
-import com.fjhx.purchase.entity.arrival.dto.ArrivalDto;
-import com.ruoyi.common.core.domain.BaseSelectDto;
 import com.fjhx.purchase.service.arrival.ArrivalService;
+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;
 
 
 /**
@@ -18,7 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
  * 到货 前端控制器
  * </p>
  *
- * @author 
+ * @author
  * @since 2023-04-07
  */
 @DS(SourceConstant.PURCHASE)
@@ -77,4 +80,12 @@ public class ArrivalController {
         arrivalService.delete(dto.getId());
     }
 
+    /**
+     * 根据发货id获取本次发货的到货信息
+     */
+    @PostMapping("/arrivalInfo")
+    public ArrivalVo arrivalInfo(@RequestBody ArrivalDto dto) {
+        return arrivalService.arrivalInfo(dto.getDeliverGoodsId());
+    }
+
 }

+ 5 - 0
hx-purchase/src/main/java/com/fjhx/purchase/entity/arrival/vo/ArrivalDetailVo.java

@@ -85,4 +85,9 @@ public class ArrivalDetailVo extends ArrivalDetail {
      * 发货物流单号
      */
     private String logisticsCode;
+
+    /**
+     * 货品编码
+     */
+    private String productCustomCode;
 }

+ 9 - 0
hx-purchase/src/main/java/com/fjhx/purchase/entity/arrival/vo/ArrivalVo.java

@@ -1,9 +1,13 @@
 package com.fjhx.purchase.entity.arrival.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fjhx.purchase.entity.arrival.po.Arrival;
+import com.fjhx.purchase.entity.arrival.po.ArrivalDetail;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 /**
  * 到货列表查询返回值实体
  *
@@ -14,4 +18,9 @@ import lombok.Setter;
 @Setter
 public class ArrivalVo extends Arrival {
 
+    /**
+     * 到货明细列表
+     */
+    private List<ArrivalDetailVo> arrivalDetailVoList;
+
 }

+ 4 - 0
hx-purchase/src/main/java/com/fjhx/purchase/mapper/arrival/ArrivalMapper.java

@@ -23,4 +23,8 @@ public interface ArrivalMapper extends BaseMapper<Arrival> {
      */
     Page<ArrivalVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<Arrival> wrapper);
 
+    /**
+     * 根据发货id获取本次发货的到货信息 维多利亚
+     */
+    ArrivalVo arrivalInfo(@Param("deliverGoodsId") Long deliverGoodsId);
 }

+ 4 - 0
hx-purchase/src/main/java/com/fjhx/purchase/service/arrival/ArrivalService.java

@@ -48,4 +48,8 @@ public interface ArrivalService extends BaseService<Arrival> {
      */
     void delete(Long id);
 
+    /**
+     * 根据发货id获取本次发货的到货信息
+     */
+    ArrivalVo arrivalInfo(Long deliverGoodsId);
 }

+ 19 - 0
hx-purchase/src/main/java/com/fjhx/purchase/service/arrival/impl/ArrivalServiceImpl.java

@@ -20,6 +20,7 @@ import com.fjhx.purchase.entity.arrival.dto.ArrivalDto;
 import com.fjhx.purchase.entity.arrival.dto.ArrivalSelectDto;
 import com.fjhx.purchase.entity.arrival.po.Arrival;
 import com.fjhx.purchase.entity.arrival.po.ArrivalDetail;
+import com.fjhx.purchase.entity.arrival.vo.ArrivalDetailVo;
 import com.fjhx.purchase.entity.arrival.vo.ArrivalVo;
 import com.fjhx.purchase.entity.deliver.DeliverGoodsDetailsPo;
 import com.fjhx.purchase.entity.deliver.DeliverGoodsPo;
@@ -344,5 +345,23 @@ public class ArrivalServiceImpl extends ServiceImpl<ArrivalMapper, Arrival> impl
         this.removeById(id);
     }
 
+    /**
+     * 根据发货id获取本次发货的到货信息
+     */
+    @Override
+    public ArrivalVo arrivalInfo(Long deliverGoodsId) {
+        Assert.notEmpty(deliverGoodsId,"发货id不能为空");
+        ArrivalVo arrival = baseMapper.arrivalInfo(deliverGoodsId);
+        Assert.notEmpty(arrival, "查询不到到货信息");
+        List<ArrivalDetail> arrivalDetailList = arrivalDetailService.list(q -> q.eq(ArrivalDetail::getArrivalId, arrival.getId()));
+        List<ArrivalDetailVo> arrivalDetailVos = BeanUtil.copyToList(arrivalDetailList, ArrivalDetailVo.class);
+        //赋值产品信息
+        productInfoService.attributeAssign(arrivalDetailVos, ArrivalDetailVo::getBussinessId, (item, productInfo) -> {
+            item.setProductName(productInfo.getName());
+            item.setProductCustomCode(productInfo.getCustomCode());
+        });
+        arrival.setArrivalDetailVoList(arrivalDetailVos);
+        return arrival;
+    }
 
 }

+ 8 - 0
hx-purchase/src/main/resources/mapper/arrival/ArrivalMapper.xml

@@ -15,5 +15,13 @@
         from arrival a
             ${ew.customSqlSegment}
     </select>
+    <select id="arrivalInfo" resultType="com.fjhx.purchase.entity.arrival.vo.ArrivalVo">
+        SELECT
+            *
+        FROM
+            arrival
+        WHERE
+                json_unquote( victoriatourist_json -> '$.deliverGoodsId' ) = #{deliverGoodsId}
+    </select>
 
 </mapper>