|
@@ -0,0 +1,70 @@
|
|
|
+package com.fjhx.jxst.service.sales.impl;
|
|
|
+
|
|
|
+import com.fjhx.customer.service.customer.CustomerService;
|
|
|
+import com.fjhx.jxst.entity.sales.po.SalesContract;
|
|
|
+import com.fjhx.jxst.entity.sales.po.SalesContractDetails;
|
|
|
+import com.fjhx.jxst.mapper.sales.SalesContractMapper;
|
|
|
+import com.fjhx.jxst.service.sales.SalesContractDetailsService;
|
|
|
+import com.fjhx.jxst.service.sales.SalesContractService;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.fjhx.jxst.entity.sales.vo.SalesContractVo;
|
|
|
+import com.fjhx.jxst.entity.sales.dto.SalesContractSelectDto;
|
|
|
+import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
+import com.fjhx.jxst.entity.sales.dto.SalesContractDto;
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+
|
|
|
+/**
|
|
|
+ * <p>
|
|
|
+ * 销售合同 服务实现类
|
|
|
+ * </p>
|
|
|
+ *
|
|
|
+ * @author
|
|
|
+ * @since 2023-05-16
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class SalesContractServiceImpl extends ServiceImpl<SalesContractMapper, SalesContract> implements SalesContractService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SalesContractDetailsService salesContractDetailsService;
|
|
|
+ @Autowired
|
|
|
+ private CustomerService customerService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Page<SalesContractVo> getPage(SalesContractSelectDto dto) {
|
|
|
+ IWrapper<SalesContract> wrapper = getWrapper();
|
|
|
+ wrapper.orderByDesc("sc", SalesContract::getId);
|
|
|
+ Page<SalesContractVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
|
+ List<SalesContractVo> records = page.getRecords();
|
|
|
+ //赋值客户名称
|
|
|
+ customerService.attributeAssign(records, SalesContractVo::getCustomerId, (item, customer) -> {
|
|
|
+ item.setCustomerName(customer.getName());
|
|
|
+ });
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public SalesContractVo detail(Long id) {
|
|
|
+ SalesContract SalesContract = this.getById(id);
|
|
|
+ SalesContractVo result = BeanUtil.toBean(SalesContract, SalesContractVo.class);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @Override
|
|
|
+ public void add(SalesContractDto salesContractDto) {
|
|
|
+ this.save(salesContractDto);
|
|
|
+ List<SalesContractDetails> salesContractDetailsList = salesContractDto.getSalesContractDetailsList();
|
|
|
+ for (SalesContractDetails salesContractDetails : salesContractDetailsList) {
|
|
|
+ salesContractDetails.setSalesContractId(salesContractDto.getId());
|
|
|
+ }
|
|
|
+ salesContractDetailsService.saveBatch(salesContractDetailsList);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|