From 59e91a4e9ddaf23cebb12993c774aa899ab22d16 Mon Sep 17 00:00:00 2001 From: 郑永安 <zyazyz250@sina.com> Date: 星期一, 19 六月 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