|
|
@@ -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;
|
|
|
+ }
|
|
|
}
|