소스 검색

Merge remote-tracking branch 'origin/dev' into dev

xucaiqin 2 년 전
부모
커밋
74ba1ddf0b

+ 12 - 4
sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/KwOrderStatisticsController.java

@@ -6,10 +6,7 @@ import com.sckw.report.service.KwOrderStatisticsService;
 import lombok.AllArgsConstructor;
 import org.springframework.http.MediaType;
 import org.springframework.validation.annotation.Validated;
-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;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * @desc: 订单统计相关接口
@@ -35,4 +32,15 @@ public class KwOrderStatisticsController {
         return HttpResult.ok(kwOrderStatisticsService.workbenchData(params));
     }
 
+    /**
+     * @desc: 工作台采购订单列表
+     * @author: yzc
+     * @date: 2023-09-13 19:13
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @GetMapping(value = "/workbenchPurchaseList", produces = MediaType.APPLICATION_JSON_VALUE)
+    public HttpResult workbenchPurchaseList() {
+        return HttpResult.ok(kwOrderStatisticsService.workbenchPurchaseList());
+    }
+
 }

+ 68 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/model/vo/WorkbenchPurchaseVO.java

@@ -0,0 +1,68 @@
+package com.sckw.report.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @desc: 工作台采购订单列表vo
+ * @author: yzc
+ * @date: 2023-09-13 19:22
+ */
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class WorkbenchPurchaseVO implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 3393583069721972947L;
+
+    /**
+     * 订单主键
+     */
+    @JsonProperty("tOrderId")
+    private Long tOrderId;
+
+    /**
+     * 订单成交数量
+     */
+    private Double amount;
+
+    /**
+     * 订单单位(吨、方、箱、件)
+     */
+    private String unit;
+
+    private String unitLabel;
+
+    /**
+     * 商品名称
+     */
+    private String goodsName;
+
+    /**
+     * 商品类型
+     */
+    private String goodsType;
+
+    private String goodsTypeLabel;
+
+    /**
+     * 采购企业名称
+     */
+    private String procureFirmName;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    private Date createTime;
+
+}

+ 37 - 4
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwOrderStatisticsService.java

@@ -1,6 +1,9 @@
 package com.sckw.report.service;
 
 import com.sckw.core.common.enums.NumberConstant;
+import com.sckw.core.common.enums.enums.DictEnum;
+import com.sckw.core.common.enums.enums.DictTypeEnum;
+import com.sckw.core.utils.BeanUtils;
 import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.utils.DateUtils;
 import com.sckw.core.utils.StringUtils;
@@ -14,22 +17,22 @@ import com.sckw.report.model.dto.WorkbenchOrderStsDTO;
 import com.sckw.report.model.vo.TOrderDataStsResVO;
 import com.sckw.report.model.vo.WbTOrderDataStsParam;
 import com.sckw.report.model.vo.WbTOrderDataStsResVO;
+import com.sckw.report.model.vo.WorkbenchPurchaseVO;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.data.domain.Sort;
 import org.springframework.data.mongodb.core.MongoTemplate;
 import org.springframework.data.mongodb.core.aggregation.Aggregation;
 import org.springframework.data.mongodb.core.aggregation.AggregationResults;
 import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 
 /**
  * @desc: TODO
@@ -183,4 +186,34 @@ public class KwOrderStatisticsService {
         }
         return mappedResults.get(0);
     }
+
+    /**
+     * @desc: 工作台采购订单列表
+     * @author: yzc
+     * @date: 2023-09-13 19:37
+     * @return: java.util.List<com.sckw.report.model.vo.WorkbenchPurchaseVO>
+     */
+    public List<WorkbenchPurchaseVO> workbenchPurchaseList() {
+        Long entId = LoginUserHolder.getEntId();
+        Criteria criteria = new Criteria();
+        criteria.and("procureTopEntId").is(entId)
+                .and("status").nin(0, 2, 7)
+                .and("delFlag").is(0);
+        Query query = new Query();
+        query.addCriteria(criteria)
+                .with(Sort.by(Sort.Direction.DESC, "createTime"))
+                .limit(10);
+        List<SckwTradeOrder> orders = mongoTemplate.find(query, SckwTradeOrder.class);
+        if (CollectionUtils.isEmpty(orders)) {
+            return Collections.emptyList();
+        }
+        List<WorkbenchPurchaseVO> result = new ArrayList<>();
+        orders.forEach(e -> {
+            WorkbenchPurchaseVO vo = BeanUtils.copyProperties(e, WorkbenchPurchaseVO.class);
+            vo.setUnitLabel(DictEnum.getLabel(DictTypeEnum.UNIT_TYPE.getType(), e.getUnit()))
+                    .setGoodsTypeLabel(DictEnum.getLabel(DictTypeEnum.PRODUCT_NAME_TYPE.getType(), e.getGoodsType()));
+            result.add(vo);
+        });
+        return result;
+    }
 }