|
@@ -0,0 +1,88 @@
|
|
|
+package com.sd.business.service.price.impl;
|
|
|
+
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.ruoyi.common.exception.ServiceException;
|
|
|
+import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
+import com.sd.business.entity.price.dto.PriceBillingStandardDto;
|
|
|
+import com.sd.business.entity.price.dto.PriceBillingStandardSelectDto;
|
|
|
+import com.sd.business.entity.price.po.PriceBillingStandard;
|
|
|
+import com.sd.business.entity.price.po.PriceBillingStandardDetail;
|
|
|
+import com.sd.business.entity.price.vo.PriceBillingStandardVo;
|
|
|
+import com.sd.business.mapper.price.PriceBillingStandardMapper;
|
|
|
+import com.sd.business.service.price.PriceBillingStandardDetailService;
|
|
|
+import com.sd.business.service.price.PriceBillingStandardService;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+
|
|
|
+/**
|
|
|
+ * <p>
|
|
|
+ * 加工计费标准 服务实现类
|
|
|
+ * </p>
|
|
|
+ *
|
|
|
+ * @author
|
|
|
+ * @since 2023-07-12
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class PriceBillingStandardServiceImpl extends ServiceImpl<PriceBillingStandardMapper, PriceBillingStandard> implements PriceBillingStandardService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private PriceBillingStandardDetailService priceBillingStandardDetailService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Page<PriceBillingStandardVo> getPage(PriceBillingStandardSelectDto dto) {
|
|
|
+ IWrapper<PriceBillingStandard> wrapper = getWrapper();
|
|
|
+ wrapper.orderByDesc("pbs", PriceBillingStandard::getId);
|
|
|
+ wrapper.eq("pbs", PriceBillingStandard::getName, dto.getName());
|
|
|
+ Page<PriceBillingStandardVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PriceBillingStandardVo detail(Long id) {
|
|
|
+ PriceBillingStandard priceBillingStandard = this.getById(id);
|
|
|
+ if (priceBillingStandard == null) {
|
|
|
+ throw new ServiceException("没有找到加工计费标准信息");
|
|
|
+ }
|
|
|
+
|
|
|
+ List<PriceBillingStandardDetail> priceBillingStandardDetailList = priceBillingStandardDetailService.list(q -> q
|
|
|
+ .eq(PriceBillingStandardDetail::getPriceBillingStandardId, id)
|
|
|
+ .orderByAsc(PriceBillingStandardDetail::getSort)
|
|
|
+ );
|
|
|
+
|
|
|
+ PriceBillingStandardVo result = BeanUtil.toBean(priceBillingStandard, PriceBillingStandardVo.class);
|
|
|
+ result.setPriceBillingStandardDetailList(priceBillingStandardDetailList);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void add(PriceBillingStandardDto priceBillingStandardDto) {
|
|
|
+ this.save(priceBillingStandardDto);
|
|
|
+
|
|
|
+ List<PriceBillingStandardDetail> priceBillingStandardDetailList = priceBillingStandardDto.getPriceBillingStandardDetailList();
|
|
|
+ priceBillingStandardDetailList.forEach(item -> item.setPriceBillingStandardId(priceBillingStandardDto.getId()));
|
|
|
+ priceBillingStandardDetailService.saveBatch(priceBillingStandardDetailList);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void edit(PriceBillingStandardDto priceBillingStandardDto) {
|
|
|
+ this.updateById(priceBillingStandardDto);
|
|
|
+
|
|
|
+ List<PriceBillingStandardDetail> priceBillingStandardDetailList = priceBillingStandardDto.getPriceBillingStandardDetailList();
|
|
|
+
|
|
|
+ // 更新关联
|
|
|
+ priceBillingStandardDetailService.editLinked(priceBillingStandardDetailList,
|
|
|
+ PriceBillingStandardDetail::getPriceBillingStandardId, priceBillingStandardDto.getId());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void delete(Long id) {
|
|
|
+ this.removeById(id);
|
|
|
+ priceBillingStandardDetailService.remove(q -> q.eq(PriceBillingStandardDetail::getPriceBillingStandardId, id));
|
|
|
+ }
|
|
|
+
|
|
|
+}
|