há 1 ano atrás
pai
commit
0655a9a6f9

+ 2 - 0
platform-dao/src/main/java/com/platform/dao/dto/longyanpurchaseorder/LongYanPurchaseOrderDTO.java

@@ -22,6 +22,8 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class LongYanPurchaseOrderDTO extends BaseDTO implements Serializable {
+    private LocalDateTime startTime;
+    private LocalDateTime endTime;
     private BigDecimal totalNum;
     private List<String> sbIds;
     private List<LongYanPurchaseDetailDTO> detailDTOS;

+ 2 - 0
platform-dao/src/main/java/com/platform/dao/mapper/longyanpurchaseorder/LongYanPurchaseOrderMapper.java

@@ -4,6 +4,7 @@ import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseOrderDTO;
 import com.platform.dao.config.MyMapper;
 import com.platform.dao.entity.longyanpurchaseorder.LongYanPurchaseOrder;
 import com.platform.dao.vo.query.longyanpurchaseorder.LongYanPurchaseOrderVO;
+import com.platform.dao.vo.report.LongYanPurchaseOrderReportVO;
 import org.springframework.stereotype.Component;
 import java.util.List;
 
@@ -16,6 +17,7 @@ import java.util.List;
  */
 @Component
 public interface LongYanPurchaseOrderMapper extends MyMapper<LongYanPurchaseOrder> {
+    List<LongYanPurchaseOrderReportVO> getPurchaseReport(LongYanPurchaseOrderDTO dto);
     /**
      * 分页查询
      * @param dto

+ 36 - 0
platform-dao/src/main/java/com/platform/dao/vo/report/LongYanPurchaseOrderReportVO.java

@@ -0,0 +1,36 @@
+package com.platform.dao.vo.report;
+
+import com.platform.dao.vo.query.check.CheckJobVO;
+import com.platform.dao.vo.query.longyanpurchaseorder.LongYanPurchaseDetailVO;
+import com.platform.office.annotation.Excel;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @author cyz
+ */
+@Data
+@Accessors(chain = true)
+public class LongYanPurchaseOrderReportVO implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private Integer purchaseType;
+    private BigDecimal orderTotalNum;
+    private String purchaseTypeName;
+
+
+    /**
+     * 每月总数
+     */
+    @Excel(name = "总数", orderNum = "3")
+    private BigDecimal spareTotalNum;
+
+
+    /**
+     * 明细列表
+     */
+    List<LongYanPurchaseDetailVO> detailList;
+}

+ 14 - 0
platform-dao/src/main/resources/mapper/longyanpurchaseorder/LongYanPurchaseOrderMapper.xml

@@ -93,4 +93,18 @@
             <include refid="List_Condition" />
         </where>
     </select>
+
+    <select id="getPurchaseReport" resultType="com.platform.dao.vo.report.LongYanPurchaseOrderReportVO"
+            parameterType="com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseOrderDTO">
+        select type as purchaseType,count(1) as orderTotalNum,sum(total_num) as spareTotalNum
+        from t_long_yan_purchase_order order
+        <where>
+            <if test="startTime!=null">
+                and order.created_time <![CDATA[>=]]> #{startTime}
+            </if>
+            <if test="endTime!=null">
+                and order.created_time <![CDATA[<=]]> #{endTime}
+            </if>
+        </where>
+    </select>
 </mapper>

+ 11 - 0
platform-rest/src/main/java/com/platform/rest/controller/longyanpurchaseorder/LongYanPurchaseOrderController.java

@@ -150,4 +150,15 @@ public class LongYanPurchaseOrderController {
     return new R<>(longYanPurchaseOrderService.getPurchaseRecord(sbInfoDTO,pageNum,pageSize));
   }
 
+  /**
+   * 采购单按类型统计报表
+   *
+   * @param longYanPurchaseOrderDTO 龙岩采购单表DTO
+   * @return R
+   */
+  @GetMapping("/getPurchaseReport")
+  public R getPurchaseReport(LongYanPurchaseOrderDTO dto) {
+    return new R(longYanPurchaseOrderService.getPurchaseReport(dto));
+  }
+
 }

+ 4 - 0
platform-service/src/main/java/com/platform/service/longyanpurchaseorder/LongYanPurchaseOrderService.java

@@ -5,10 +5,12 @@ import com.platform.dao.vo.query.longyanpurchaseorder.LongYanPurchaseOrderVO;
 import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseOrderDTO;
 import com.platform.dao.entity.longyanpurchaseorder.LongYanPurchaseOrder;
 import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.dao.vo.report.LongYanPurchaseOrderReportVO;
 import com.platform.dao.vo.sb.SbInfoVO;
 import com.platform.service.base.IBaseService;
 import org.omg.CORBA.INTERNAL;
 
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -18,6 +20,8 @@ import java.util.List;
  * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
  */
 public interface LongYanPurchaseOrderService extends IBaseService<LongYanPurchaseOrder, LongYanPurchaseOrderDTO> {
+    List<LongYanPurchaseOrderReportVO> getPurchaseReport(LongYanPurchaseOrderDTO dto);
+
     AbstractPageResultBean<SbInfoVO> getPurchaseRecord(SbInfoDTO dto, Integer pageNum, Integer pageSize);
 
 

+ 17 - 0
platform-service/src/main/java/com/platform/service/longyanpurchaseorder/impl/LongYanPurchaseOrderServiceImpl.java

@@ -22,6 +22,7 @@ import com.platform.dao.vo.query.longyanpurchaseorder.LongYanPurchaseOrderVO;
 import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseOrderDTO;
 import com.platform.dao.entity.longyanpurchaseorder.LongYanPurchaseOrder;
 import com.platform.dao.mapper.longyanpurchaseorder.LongYanPurchaseOrderMapper;
+import com.platform.dao.vo.report.LongYanPurchaseOrderReportVO;
 import com.platform.dao.vo.sb.SbInfoVO;
 import com.platform.dao.vo.sb.SbModelSpareBomVO;
 import com.platform.service.longyanpurchaseorder.LongYanPurchaseOrderService;
@@ -104,6 +105,22 @@ public class LongYanPurchaseOrderServiceImpl extends BaseServiceImpl<LongYanPurc
         }
 
 
+    @Override
+    public List<LongYanPurchaseOrderReportVO> getPurchaseReport(LongYanPurchaseOrderDTO dto) {
+        List<LongYanPurchaseOrderReportVO> list = mapper.getPurchaseReport(dto);
+        for (LongYanPurchaseOrderReportVO vo:list){
+            if (vo.getPurchaseType()==1){
+                vo.setPurchaseTypeName("计划采购");
+            }else if (vo.getPurchaseType()==2){
+                vo.setPurchaseTypeName("临时采购");
+            }else if (vo.getPurchaseType()==3){
+                vo.setPurchaseTypeName("紧急采购");
+            }
+        }
+
+        return list;
+    }
+
     @Override
     public AbstractPageResultBean<SbInfoVO> getPurchaseRecord(SbInfoDTO dto, Integer pageNum, Integer pageSize) {
         PageHelper.startPage(pageNum,pageSize);