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