瀏覽代碼

申购分页

24282 1 年之前
父節點
當前提交
ceca882e96

+ 0 - 51
sd-business/src/main/java/com/sd/business/controller/purchase/PurchaseBomController.java

@@ -1,51 +0,0 @@
-package com.sd.business.controller.purchase;
-
-import org.springframework.web.bind.annotation.*;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.sd.business.entity.purchase.vo.PurchaseBomVo;
-import com.sd.business.entity.purchase.dto.PurchaseBomSelectDto;
-import com.ruoyi.common.core.domain.BaseSelectDto;
-import com.sd.business.service.purchase.PurchaseBomService;
-import org.springframework.beans.factory.annotation.Autowired;
-
-
-/**
- * <p>
- * 采购合同bom 前端控制器
- * </p>
- *
- * @author 
- * @since 2023-08-07
- */
-@RestController
-@RequestMapping("/purchaseBom")
-public class PurchaseBomController {
-
-    @Autowired
-    private PurchaseBomService purchaseBomService;
-
-    /**
-     * 采购合同bom分页
-     */
-    @PostMapping("/page")
-    public Page<PurchaseBomVo> page(@RequestBody PurchaseBomSelectDto dto) {
-        return purchaseBomService.getPage(dto);
-    }
-
-    /**
-     * 采购合同bom明细
-     */
-    @PostMapping("/detail")
-    public PurchaseBomVo detail(@RequestBody BaseSelectDto dto) {
-        return purchaseBomService.detail(dto.getId());
-    }
-
-    /**
-     * 采购合同bom删除
-     */
-    @PostMapping("/delete")
-    public void delete(@RequestBody BaseSelectDto dto) {
-        purchaseBomService.delete(dto.getId());
-    }
-
-}

+ 8 - 0
sd-business/src/main/java/com/sd/business/entity/purchase/dto/PurchaseDto.java

@@ -1,9 +1,12 @@
 package com.sd.business.entity.purchase.dto;
 
 import com.sd.business.entity.purchase.po.Purchase;
+import com.sd.business.entity.purchase.po.PurchaseBom;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 /**
  * 采购合同新增编辑入参实体
  *
@@ -14,4 +17,9 @@ import lombok.Setter;
 @Setter
 public class PurchaseDto extends Purchase {
 
+    /**
+     * 采购详情数据
+     */
+    private List<PurchaseBom> purchaseBomList;
+
 }

+ 1 - 1
sd-business/src/main/java/com/sd/business/entity/purchase/dto/PurchaseSelectDto.java

@@ -13,6 +13,7 @@ import lombok.Setter;
 @Getter
 @Setter
 public class PurchaseSelectDto extends BaseSelectDto {
+
     /**
      * 采购合同编号
      */
@@ -28,5 +29,4 @@ public class PurchaseSelectDto extends BaseSelectDto {
      */
     private String supplierName;
 
-
 }

+ 7 - 15
sd-business/src/main/java/com/sd/business/entity/purchase/vo/PurchaseBomVo.java

@@ -15,43 +15,35 @@ import java.math.BigDecimal;
 @Getter
 @Setter
 public class PurchaseBomVo extends PurchaseBom {
-    /**
-     * 含税小计
-     */
-    private BigDecimal sumPriceAmount;
-
-    /**
-     * 不含税小计
-     */
-    private BigDecimal taxSumPriceAmount;
 
     /**
      * bom规格编码
      */
-    private String specCode;
+    private String bomSpecCode;
 
     /**
      * bom规格名称
      */
-    private String specName;
+    private String bomSpecName;
 
     /**
      * bom规格颜色
      */
-    private String colour;
+    private String bomSpecColour;
 
     /**
      * bom规格长
      */
-    private BigDecimal length;
+    private BigDecimal bomSpecLength;
 
     /**
      * bom规格宽
      */
-    private BigDecimal width;
+    private BigDecimal bomSpecWidth;
 
     /**
      * bom规格高
      */
-    private BigDecimal height;
+    private BigDecimal bomSpecHeight;
+
 }

+ 2 - 6
sd-business/src/main/java/com/sd/business/entity/purchase/vo/PurchaseVo.java

@@ -1,7 +1,6 @@
 package com.sd.business.entity.purchase.vo;
 
 import com.sd.business.entity.purchase.po.Purchase;
-import com.sd.business.entity.purchase.po.PurchaseBom;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -16,6 +15,7 @@ import java.util.List;
 @Getter
 @Setter
 public class PurchaseVo extends Purchase {
+
     /**
      * 供应商名称
      */
@@ -29,10 +29,6 @@ public class PurchaseVo extends Purchase {
     /**
      * 采购详情数据
      */
-    private List<PurchaseBomVo> purchaseBomVoList;
+    private List<PurchaseBomVo> purchaseBomList;
 
-    /**
-     * 采购详情数据
-     */
-    private List<PurchaseBom> purchaseBomList;
 }

+ 2 - 2
sd-business/src/main/java/com/sd/business/flow/PurchaseFlow.java

@@ -7,10 +7,10 @@ import com.fjhx.flow.core.FlowDelegate;
 import com.fjhx.flow.enums.FlowStatusEnum;
 import com.sd.business.entity.apply.po.ApplyBuy;
 import com.sd.business.entity.apply.po.ApplyBuyBom;
+import com.sd.business.entity.purchase.dto.PurchaseDto;
 import com.sd.business.entity.purchase.enums.PurchaseEnums;
 import com.sd.business.entity.purchase.po.Purchase;
 import com.sd.business.entity.purchase.po.PurchaseBom;
-import com.sd.business.entity.purchase.vo.PurchaseVo;
 import com.sd.business.service.apply.ApplyBuyBomService;
 import com.sd.business.service.apply.ApplyBuyService;
 import com.sd.business.service.purchase.PurchaseBomService;
@@ -47,7 +47,7 @@ public class PurchaseFlow  extends FlowDelegate {
     @Override
     public Long start(Long flowId, JSONObject submitData) {
 
-        PurchaseVo purchase = submitData.toJavaObject(PurchaseVo.class);
+        PurchaseDto purchase = submitData.toJavaObject(PurchaseDto.class);
         purchase.setFlowStatus(PurchaseEnums.IN_PROGRESS.getKey());
         purchase.setFlowId(flowId);
 

+ 2 - 11
sd-business/src/main/java/com/sd/business/mapper/purchase/PurchaseBomMapper.java

@@ -1,15 +1,12 @@
 package com.sd.business.mapper.purchase;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.sd.business.entity.purchase.po.PurchaseBom;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.sd.business.entity.purchase.vo.PurchaseBomVo;
 import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.sd.business.entity.purchase.po.PurchaseBom;
+import com.sd.business.entity.purchase.vo.PurchaseBomVo;
 import org.apache.ibatis.annotations.Param;
 
-import java.util.List;
-
 
 /**
  * <p>
@@ -26,10 +23,4 @@ public interface PurchaseBomMapper extends BaseMapper<PurchaseBom> {
      */
     Page<PurchaseBomVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<PurchaseBom> wrapper);
 
-    /**
-     * 查询采购单详情数据
-     * @param query
-     * @return
-     */
-    List<PurchaseBomVo> getList(@Param("ew") LambdaQueryWrapper<PurchaseBom> query);
 }

+ 3 - 11
sd-business/src/main/java/com/sd/business/service/purchase/PurchaseBomService.java

@@ -1,13 +1,10 @@
 package com.sd.business.service.purchase;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.sd.business.entity.purchase.po.PurchaseBom;
-import com.ruoyi.common.core.service.BaseService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.sd.business.entity.purchase.vo.PurchaseBomVo;
+import com.ruoyi.common.core.service.BaseService;
 import com.sd.business.entity.purchase.dto.PurchaseBomSelectDto;
-
-import java.util.List;
+import com.sd.business.entity.purchase.po.PurchaseBom;
+import com.sd.business.entity.purchase.vo.PurchaseBomVo;
 
 
 /**
@@ -35,9 +32,4 @@ public interface PurchaseBomService extends BaseService<PurchaseBom> {
      */
     void delete(Long id);
 
-    /**
-     * 查询采购单详情数据
-     * @param query
-     */
-    List<PurchaseBomVo> getList(LambdaQueryWrapper<PurchaseBom> query);
 }

+ 6 - 18
sd-business/src/main/java/com/sd/business/service/purchase/impl/PurchaseBomServiceImpl.java

@@ -1,18 +1,15 @@
 package com.sd.business.service.purchase.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.sd.business.entity.purchase.dto.PurchaseBomSelectDto;
 import com.sd.business.entity.purchase.po.PurchaseBom;
+import com.sd.business.entity.purchase.vo.PurchaseBomVo;
 import com.sd.business.mapper.purchase.PurchaseBomMapper;
 import com.sd.business.service.purchase.PurchaseBomService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.sd.business.entity.purchase.vo.PurchaseBomVo;
-import com.sd.business.entity.purchase.dto.PurchaseBomSelectDto;
-import com.ruoyi.common.utils.wrapper.IWrapper;
-import cn.hutool.core.bean.BeanUtil;
-
-import java.util.List;
 
 
 /**
@@ -46,13 +43,4 @@ public class PurchaseBomServiceImpl extends ServiceImpl<PurchaseBomMapper, Purch
         this.removeById(id);
     }
 
-    /**
-     * 查询采购单详情数据
-     * @param query
-     */
-    @Override
-    public List<PurchaseBomVo> getList(LambdaQueryWrapper<PurchaseBom> query) {
-        return baseMapper.getList(query);
-    }
-
 }

+ 31 - 25
sd-business/src/main/java/com/sd/business/service/purchase/impl/PurchaseServiceImpl.java

@@ -1,11 +1,6 @@
 package com.sd.business.service.purchase.impl;
 
 import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.collection.ListUtil;
-import cn.hutool.core.util.ObjectUtil;
-import com.alibaba.excel.util.ListUtils;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.utils.wrapper.IWrapper;
@@ -15,12 +10,15 @@ import com.sd.business.entity.purchase.po.Purchase;
 import com.sd.business.entity.purchase.po.PurchaseBom;
 import com.sd.business.entity.purchase.vo.PurchaseBomVo;
 import com.sd.business.entity.purchase.vo.PurchaseVo;
+import com.sd.business.entity.supplier.po.Supplier;
 import com.sd.business.mapper.purchase.PurchaseMapper;
+import com.sd.business.service.bom.BomSpecService;
 import com.sd.business.service.purchase.PurchaseBomService;
 import com.sd.business.service.purchase.PurchaseService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -36,39 +34,47 @@ import java.util.stream.Collectors;
  */
 @Service
 public class PurchaseServiceImpl extends ServiceImpl<PurchaseMapper, Purchase> implements PurchaseService {
+
     @Autowired
     private PurchaseBomService purchaseBomService;
 
+    @Autowired
+    private BomSpecService bomSpecService;
+
     @Override
     public Page<PurchaseVo> getPage(PurchaseSelectDto dto) {
         IWrapper<Purchase> wrapper = getWrapper();
-        //采购单号
-        wrapper.like("p",Purchase::getCode,dto.getCode());
-        //采购单价
-        wrapper.eq("p",Purchase::getFlowStatus,dto.getFlowStatus());
-        //供应商名称
-        wrapper.like("s.name",dto.getSupplierName());
-        wrapper.orderByDesc("p", Purchase::getCreateTime);
-        //查询采购单数据
+        wrapper.like("p", Purchase::getCode, dto.getCode());
+        wrapper.eq("p", Purchase::getFlowStatus, dto.getFlowStatus());
+        wrapper.like("s", Supplier::getName, dto.getSupplierName());
+        wrapper.orderByDesc("p", Purchase::getId);
+
+        // 查询采购单数据
         Page<PurchaseVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
 
         List<PurchaseVo> records = page.getRecords();
+        if (records.size() == 0) {
+            return page;
+        }
 
-        //获取到采购单ID
-        List<Long> ids = records.stream().map(PurchaseVo::getId).collect(Collectors.toList());
-        //查询采购单详情数据
-        LambdaQueryWrapper<PurchaseBom> query = Wrappers.lambdaQuery();
-        query.in(PurchaseBom::getPurchaseId,ids);
-        List<PurchaseBomVo> purchaseBomVoList = purchaseBomService.getList(query);
-        Map<Long, List<PurchaseBomVo>> purchaseBomVoMap = purchaseBomVoList.stream().collect(Collectors.groupingBy(PurchaseBomVo::getPurchaseId));
+        // 赋值采购明细
+        List<Long> idList = records.stream().map(PurchaseVo::getId).collect(Collectors.toList());
+        List<PurchaseBom> list = purchaseBomService.list(q -> q.in(PurchaseBom::getPurchaseId, idList));
+        List<PurchaseBomVo> purchaseBomList = BeanUtil.copyToList(list, PurchaseBomVo.class);
+        bomSpecService.attributeAssign(purchaseBomList, PurchaseBom::getBomSpecId, (item, bomSpec) -> {
+            item.setBomSpecCode(bomSpec.getCode());
+            item.setBomSpecName(bomSpec.getName());
+            item.setBomSpecColour(bomSpec.getColour());
+            item.setBomSpecLength(bomSpec.getLength());
+            item.setBomSpecWidth(bomSpec.getWidth());
+            item.setBomSpecHeight(bomSpec.getHeight());
+        });
 
-        //赋值采购详情数据
+        Map<Long, List<PurchaseBomVo>> map = purchaseBomList.stream().collect(Collectors.groupingBy(PurchaseBom::getPurchaseId));
         for (PurchaseVo record : records) {
-            List<PurchaseBomVo> purchaseBomVos = purchaseBomVoMap.get(record.getId());
-            if (ObjectUtil.isEmpty(purchaseBomVos)){
-                record.setPurchaseBomVoList(purchaseBomVos);
-            }
+            record.setPurchaseBomList(map.getOrDefault(record.getId(), Collections.emptyList()));
         }
+
         return page;
     }
 

+ 2 - 18
sd-business/src/main/resources/mapper/purchase/PurchaseBomMapper.xml

@@ -1,7 +1,8 @@
 <?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.sd.business.mapper.purchase.PurchaseBomMapper">
-    <select id="getPage" resultType="com.sd.business.entity.purchase.vo.PurchaseBomVo">
+
+<select id="getPage" resultType="com.sd.business.entity.purchase.vo.PurchaseBomVo">
         select
             pb.id,
             pb.purchase_id,
@@ -20,21 +21,4 @@
             ${ew.customSqlSegment}
     </select>
 
-    <select id="getList" resultType="com.sd.business.entity.purchase.vo.PurchaseBomVo">
-        SELECT
-            pb.*,
-            pb.return_quantity * pb.unit_price sumPriceAmount,
-            pb.return_quantity * pb.tax_price taxSumPriceAmount,
-            bs.`code` specCode,
-            bs.`name` specName,
-            bs.colour,
-            bs.length,
-            bs.width,
-            bs.height
-        FROM
-            purchase_bom pb
-                JOIN bom_spec bs ON pb.bom_spec_id = bs.id
-            ${ew.customSqlSegment}
-    </select>
-
 </mapper>

+ 7 - 8
sd-business/src/main/resources/mapper/purchase/PurchaseMapper.xml

@@ -1,15 +1,14 @@
 <?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.sd.business.mapper.purchase.PurchaseMapper">
+
     <select id="getPage" resultType="com.sd.business.entity.purchase.vo.PurchaseVo">
-           SELECT
-                  p.*,
-                  s.name supplierName,
-                  ad.code applyBuyCode
-           FROM
-                  purchase p
-                  JOIN supplier s ON p.supplier_id = s.id
-                  JOIN apply_buy ab ON p.apply_buy_id = ab.id
+        select p.*,
+               s.name  supplierName,
+               ab.code applyBuyCode
+        from purchase p
+                 left join supplier s on p.supplier_id = s.id
+                 left join apply_buy ab on p.apply_buy_id = ab.id
             ${ew.customSqlSegment}
     </select>