From 59e91a4e9ddaf23cebb12993c774aa899ab22d16 Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: Mon, 19 Jun 2023 14:22:45 +0800
Subject: [PATCH] 描述
---
src/main/java/com/gk/firework/Service/ServiceImpl/DeliveryDetailServiceImpl.java | 173 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 173 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/gk/firework/Service/ServiceImpl/DeliveryDetailServiceImpl.java b/src/main/java/com/gk/firework/Service/ServiceImpl/DeliveryDetailServiceImpl.java
new file mode 100644
index 0000000..3bed010
--- /dev/null
+++ b/src/main/java/com/gk/firework/Service/ServiceImpl/DeliveryDetailServiceImpl.java
@@ -0,0 +1,173 @@
+package com.gk.firework.Service.ServiceImpl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gk.firework.Domain.DeliveryDetailInfo;
+import com.gk.firework.Domain.DeliveryOrderInfo;
+import com.gk.firework.Domain.Exception.BusinessException;
+import com.gk.firework.Domain.ProductInfo;
+import com.gk.firework.Domain.UserInfo;
+import com.gk.firework.Domain.Utils.StringUtils;
+import com.gk.firework.Domain.Vo.DirectionDetail;
+import com.gk.firework.Domain.Vo.FireworkDeal;
+import com.gk.firework.Mapper.DeliveryDetailInfoMapper;
+import com.gk.firework.Mapper.ProductInfoMapper;
+import com.gk.firework.Service.DeliveryDetailService;
+import com.gk.firework.Service.ProductService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.*;
+
+/**
+ * @author : jingjy
+ * @date : 2021/4/1 10:25
+ */
+@Service("DeliveryDetailService")
+public class DeliveryDetailServiceImpl extends ServiceImpl<DeliveryDetailInfoMapper, DeliveryDetailInfo> implements DeliveryDetailService {
+ @Autowired
+ private ProductInfoMapper productInfoMapper;
+ @Autowired
+ private DeliveryDetailInfoMapper deliveryDetailInfoMapper;
+ @Autowired
+ private ProductService productService;
+
+ @Override
+ public List<DeliveryDetailInfo> generateDeliveryDetail(DeliveryOrderInfo deliveryOrderInfo, UserInfo userInfo, List<String> directionCodes) {
+ List<DeliveryDetailInfo> deliveryDetailInfos = new ArrayList<>();
+ int boxNum = 0;
+ for (String dire : directionCodes){
+ DirectionDetail detail = FireworkDeal.dealDirectionCode(dire);
+ ProductInfo productInfo= productInfoMapper.selectProductByDirectionCode(detail.getItemCode());
+ int num = 1;
+ if (productInfo != null){
+ if (detail.getLength() == FireworkDeal.DIRECTION_OUTSIDE){
+ num = Integer.parseInt(detail.getBoxNo());
+ }
+ DeliveryDetailInfo deliveryDetailInfo = new DeliveryDetailInfo();
+ deliveryDetailInfo.setCreateby(userInfo.getUsername());
+ deliveryDetailInfo.setCreateat(new Date());
+ deliveryDetailInfo.setDeliverycode(deliveryOrderInfo.getOrdercode());
+ deliveryDetailInfo.setDirectioncode(dire);
+ deliveryDetailInfo.setItemname(productInfo.getName());
+ deliveryDetailInfo.setItemcode(productInfo.getDirectionCode());
+ deliveryDetailInfo.setNum(num);
+ deliveryDetailInfos.add(deliveryDetailInfo);
+ boxNum += num;
+ }
+ }
+ deliveryOrderInfo.setBoxnum(boxNum);
+ return deliveryDetailInfos;
+ }
+
+ /**
+ * @Description: 根据{出库单号}查询出库明细
+ * @date 2021/4/15 14:36
+ */
+ @Override
+ public Page selectDetailPage(Page<Map> page, Map filter) {
+ String code = (String) filter.get("code");
+ if (StringUtils.isBlank(code)) {
+ throw new BusinessException("出库单号不能为空");
+ }
+
+ Map<String, Object> params = new HashMap<>();
+ params.put("code", code);
+ params.put("starttime", filter.get("starttime"));
+ params.put("endtime", filter.get("endtime"));
+ List<Map> list = deliveryDetailInfoMapper.selectDetailPage(page,params);
+ return page.setRecords(list);
+ }
+
+ /**
+ * @Description: 根据{出库单code}查询出库明细并导出
+ * @date 2021/4/15 11:09
+ */
+ @Override
+ public List<Map> selectDetailExport(String code) {
+ return deliveryDetailInfoMapper.selectDetailExport(code);
+ }
+
+ @Override
+ public List<DeliveryDetailInfo> getDetailByCode(String ordercode) {
+ LambdaQueryWrapper<DeliveryDetailInfo> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(DeliveryDetailInfo::getDeliverycode,ordercode);
+ return deliveryDetailInfoMapper.selectList(wrapper);
+ }
+
+ @Override
+ public BigDecimal selectEnterpriseDeliveryNumber(String enterprisenumber, Object starttime, Object endtime) {
+ return deliveryDetailInfoMapper.selectEnterpriseDeliveryNumber(enterprisenumber,starttime,endtime);
+ }
+
+ @Override
+ public IPage selectEnterpriseTypeDelivery(Page<Map> page, Map<String, Object> filter, UserInfo user) {
+ Map<String, Object> params = new HashMap<>();
+ params.put("starttime", filter.get("starttime"));
+ params.put("endtime", filter.get("endtime"));
+ params.put("enterprisename", filter.get("enterprisename"));
+ params.put("safetysupervision", filter.get("safetysupervision"));
+ params.put("province", filter.get("province"));
+ params.put("city", filter.get("city"));
+ params.put("district", filter.get("district"));
+ List<String> list = productService.selectTypes();
+ List<Map> res = deliveryDetailInfoMapper.selectEnterpriseTypeDelivery(page, params, list);
+ Map totalRow = deliveryDetailInfoMapper.selectAllType(params, list);
+ ArrayList<Map> result = new ArrayList<>(res);
+ result.add(totalRow);
+ return page.setRecords(result);
+ }
+
+ @Override
+ public List<Map> selectExportEnterpriseTypeDelivery(Map<String, Object> filter, UserInfo user) {
+ Map<String, Object> params = new HashMap<>();
+ params.put("starttime", filter.get("starttime"));
+ params.put("endtime", filter.get("endtime"));
+ params.put("enterprisename", filter.get("enterprisename"));
+ params.put("safetysupervision", filter.get("safetysupervision"));
+ params.put("province", filter.get("province"));
+ params.put("city", filter.get("city"));
+ params.put("district", filter.get("district"));
+ List<String> list = productService.selectTypes();
+ List<Map> res = deliveryDetailInfoMapper.selectEnterpriseTypeDelivery(params, list);
+ Map totalRow = deliveryDetailInfoMapper.selectAllType(params, list);
+ ArrayList<Map> result = new ArrayList<>(res);
+ result.add(totalRow);
+ return result;
+ }
+
+ @Override
+ public IPage selectCityTypeDelivery(Page<Map> page, Map<String, Object> filter, UserInfo user) {
+ Map<String, Object> params = new HashMap<>();
+ params.put("province", "新疆维吾尔自治区");
+ params.put("starttime", filter.get("starttime"));
+ params.put("endtime", filter.get("endtime"));
+ params.put("safetysupervision", filter.get("safetysupervision"));
+ params.put("enterprisename", filter.get("enterprisename"));
+ List<String> list = productService.selectTypes();
+ List<Map> res = deliveryDetailInfoMapper.selectCityTypeDelivery(page,params, list);
+ Map totalRow = deliveryDetailInfoMapper.selectAllType(params, list);
+ ArrayList<Map> result = new ArrayList<>(res);
+ result.add(totalRow);
+ return page.setRecords(result);
+ }
+
+ @Override
+ public List<Map> selectExportCityTypeDelivery(Map<String, Object> filter, UserInfo user) {
+ Map<String, Object> params = new HashMap<>();
+ params.put("province", "新疆维吾尔自治区");
+ params.put("starttime", filter.get("starttime"));
+ params.put("endtime", filter.get("endtime"));
+ params.put("safetysupervision", filter.get("safetysupervision"));
+ params.put("enterprisename", filter.get("enterprisename"));
+ List<String> list = productService.selectTypes();
+ List<Map> res = deliveryDetailInfoMapper.selectCityTypeDelivery(params, list);
+ Map totalRow = deliveryDetailInfoMapper.selectAllType(params, list);
+ ArrayList<Map> result = new ArrayList<>(res);
+ result.add(totalRow);
+ return result;
+ }
+}
--
Gitblit v1.9.2