From bc672038e88a24d9f0f7127cd45c656a15c231a2 Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期三, 09 八月 2023 09:10:49 +0800
Subject: [PATCH] MOM系统-8-9

---
 sale-server/src/main/java/com/yuanchu/mom/service/impl/SaleServiceImpl.java |  139 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 139 insertions(+), 0 deletions(-)

diff --git a/sale-server/src/main/java/com/yuanchu/mom/service/impl/SaleServiceImpl.java b/sale-server/src/main/java/com/yuanchu/mom/service/impl/SaleServiceImpl.java
new file mode 100644
index 0000000..df08cff
--- /dev/null
+++ b/sale-server/src/main/java/com/yuanchu/mom/service/impl/SaleServiceImpl.java
@@ -0,0 +1,139 @@
+package com.yuanchu.mom.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.mapper.SaleMaterialMapper;
+import com.yuanchu.mom.pojo.Sale;
+import com.yuanchu.mom.mapper.SaleMapper;
+import com.yuanchu.mom.pojo.SaleMaterial;
+import com.yuanchu.mom.pojo.dto.SaleDto;
+import com.yuanchu.mom.pojo.dto.SaleMaterialDto;
+import com.yuanchu.mom.pojo.dto.vo.SaleVo;
+import com.yuanchu.mom.service.SaleMaterialService;
+import com.yuanchu.mom.service.SaleService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 閿�鍞崟 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2023-08-08
+ */
+@Service
+public class SaleServiceImpl extends ServiceImpl<SaleMapper, Sale> implements SaleService {
+
+    @Resource
+    SaleMapper saleMapper;
+
+    @Resource
+    SaleMaterialMapper saleMaterialMapper;
+
+    //鏌ヨ閿�鍞崟鍒楄〃
+    @Override
+    public IPage<Map<String, Object>> selectSaleList(Page<Object> page, String orderNumber, String name, Integer type, String delTime) {
+        return saleMapper.selectSaleList(page,orderNumber,name,type,delTime);
+    }
+
+    //鏂板閿�鍞崟
+    @Override
+    public String addSale(String saleman,SaleDto saleDto) {
+        Sale sale = new Sale();
+        BeanUtils.copyProperties(saleDto,sale);
+        sale.setSaleman(saleman);
+        saleMapper.insert(sale);
+        //濡傛灉saleMaterialList鏈夊��,闇�瑕佹坊鍔犻攢鍞骇鍝佸崟
+        List<SaleMaterialDto> saleMaterialDtoList = saleDto.getSaleMaterialList();
+        for (SaleMaterialDto saleMaterialDto : saleMaterialDtoList) {
+            SaleMaterial saleMaterial = new SaleMaterial();
+            BeanUtils.copyProperties(saleMaterialDto,saleMaterial);
+            saleMaterial.setSaleId(sale.getId());
+            saleMaterialMapper.insert(saleMaterial);
+        }
+        return "鏂板鎴愬姛";
+    }
+
+    //鏍规嵁閿�鍞崟id鏌ヨ閿�鍞鎯�
+    @Override
+    public SaleVo selectSaleDatil(Integer id) {
+        SaleVo saleVo = new SaleVo();
+        Sale sale = saleMapper.selectById(id);
+        BeanUtils.copyProperties(sale,saleVo);
+        List<SaleMaterial> saleMaterialList = saleMaterialMapper.selectSaleDatil(id);//閿�鍞崟id
+        List<SaleMaterialDto> saleMaterialDtoList = saleMaterialList.stream().map(saleMaterial -> {
+            SaleMaterialDto saleMaterialDto = new SaleMaterialDto();
+            BeanUtils.copyProperties(saleMaterial, saleMaterialDto);
+            return saleMaterialDto;
+        }).collect(Collectors.toList());
+        saleVo.setSaleMaterialList(saleMaterialDtoList);
+        return saleVo;
+    }
+
+    //鏍规嵁閿�鍞崟id鍒犻櫎
+    @Override
+    public void delSale(Integer id) {
+        Sale sale = saleMapper.selectById(id);
+        sale.setState(0);
+        saleMapper.updateById(sale);
+        List<SaleMaterial> saleMaterials = saleMaterialMapper.selectSaleDatil(id);
+        for (SaleMaterial saleMaterial : saleMaterials) {
+            saleMaterial.setState(0);
+            saleMaterialMapper.updateById(saleMaterial);
+        }
+    }
+
+    //鏍规嵁id鎵归噺鍒犻櫎
+    @Override
+    public void delAllSale(List<Integer> ids) {
+        List<Sale> sales = saleMapper.selectBatchIds(ids);
+        for (Sale sale : sales) {
+            sale.setState(0);
+            saleMapper.updateById(sale);
+            List<SaleMaterial> saleMaterials = saleMaterialMapper.selectSaleDatil(sale.getId());
+            for (SaleMaterial saleMaterial : saleMaterials) {
+                saleMaterial.setState(0);
+                saleMaterialMapper.updateById(saleMaterial);
+            }
+        }
+    }
+
+    //鏍规嵁閿�鍞崟id淇敼淇℃伅
+    @Override
+    public void updateSaleById(String saleman, Integer id, SaleVo saleVo) {
+        Sale sale = saleMapper.selectById(id);
+        sale.setSaleman(saleman);
+        BeanUtils.copyProperties(saleVo,sale);
+        //鏇存柊閿�鍞崟
+        saleMapper.updateById(sale);
+        List<SaleMaterial> saleMaterials = saleMaterialMapper.selectSaleDatil(id);
+        for (SaleMaterial saleMaterial : saleMaterials) {
+            List<SaleMaterialDto> saleMaterialDtos = saleVo.getSaleMaterialList();
+            for (SaleMaterialDto saleMaterialDto : saleMaterialDtos) {
+                BeanUtils.copyProperties(saleMaterialDto,saleMaterial);
+                //鏇存柊閿�鍞骇鍝佸崟
+                saleMaterialMapper.updateById(saleMaterial);
+            }
+        }
+    }
+
+    //瀹℃牳
+    @Override
+    public void check(String checkname,Integer id,Integer type) {
+        Sale sale = saleMapper.selectById(id);
+        sale.setType(type);
+        sale.setCheckname(checkname);
+        sale.setCheckTime(new Date());
+        saleMapper.updateById(sale);
+    }
+}

--
Gitblit v1.9.3